7

and/or構造体ENGINE*に実装をアタッチする可能性があるかどうか疑問に思っています。私が達成したいのは、OpenSSL に組み込まれているデフォルトの暗号化操作で設定されるものと、専用の HSM を暗号化レイヤーとして使用するものを持つことです。SSL_CTX*SSL*SSL_CTX*SSL_CTX*

これを達成できる方法はありますか?私が読んだことから、いくつかの暗号操作(ランダム、暗号、mdなど)を登録してデフォルトに設定できますが、組み込みのものではなく、設定されたものが使用されます。

たとえばEVP_CipherInit_ex、3 番目のパラメータ an がありENGINE*ます。EVP_CIPHER_CTX*この方法で初期化された暗号化/復号化は、ENGINE 実装を介して暗号化/復号化を処理します。

4

1 に答える 1

2

私が見たり読んだりしたことから、あなたはできません。コードでエンジンを使用する必要がある場合は、次の 2 つのオプションがあります。

  1. エンジンをデフォルトとして設定すると、エンジンが提供するすべてのメソッドに対して OpenSSL によって使用されます。他のすべてのメソッドに対しては、OpenSSL 組み込みメソッドが使用されます。これは、この場合に使用する必要がある呼び出しです。

    ENGINE_set_default(エンジン、ENGINE_METHOD_ALL)

  2. 選択したいくつかのメソッドに対してエンジンを設定します。たとえば、以下のコードはメソッド RAND のみに対してエンジンを設定します。

    ENGINE_set_default(エンジン、ENGINE_METHOD_RAND)

その他の例は、https: //www.openssl.org/docs/manmaster/crypto/engine.htmlおよび openssl の README.ENGINE にあります。

つまり、エンジンはグローバル設定であり、それを SSL_CTX オブジェクトにマップする場合は、そのマップを手動で維持する必要があります。

ところで、私はこの種の機能を自分で必要としており、将来実装されることを望んでいるので、間違っていることが証明されてうれしいです.

于 2015-11-17T01:43:21.673 に答える