2015-02-24 98 views
2

我無法找到OpenSSL中的ENGINE的好解釋。它用於EVP_PKEY_CTX_new等功能。什麼是OpenSSL中的ENGINE,它用於什麼?

我使用EVP_PKEY_CTX_new就在我加密/使用EVP_PKEY_encryptEVP_PKEY_decrypt解密的東西,但我真的需要調用EVP_PKEY_CTX_new時指定ENGINE參數。在我看到的OpenSSL內部,參數被指定爲空。

所以我的問題是: 在OpenSSL中ENGINE是什麼?它的用途是什麼?當它沒有被指定時它有什麼不同?

回答

1

引擎是用於執行加密操作的硬件或軟件實現。默認引擎ID是openssl,並使用OpenSSL的內置功能。

假設我們有一個超級快速實現AES的硬件設備。現在,當我們使用AES加密時,我們可以將引擎設置爲該硬件設備(而不是NULL),這意味着操作現在由硬件設備而不是默認的OpenSSL軟件層來計算。

這在Network Security with OpenSSL book的Section 4.6中有解釋。

相關問題