0

簡単な質問: コマンド ラインから作成しているカスタム openSSL エンジンの機能を確認するにはどうすればよいですか?

現在、私はこのすばらしいチュートリアルに従っており、テスト プログラム (ソース コードはこちら、test/wssha256engine_test.c にあるテストプログラム) を使用してエンジン (すべて 2 のダイジェスト値を返す) を正常に実行できます。

brett@wintermute:~/openssl_ws/wssha256engine$ make test
make[1]: Entering directory 
/home/brett/openssl_ws/wssha256engine/test
make[1]: '../bin/test' is up to date.
make[1]: Leaving directory 
/home/brett/openssl_ws/wssha256engine/test
brett@wintermute:~/openssl_ws/wssha256engine$ bin/test
Engine Loaded...
Initializing wssha256 engine...
*TEST: Successfuly initialized engine [A test engine for the ws sha256 hardware encryption module, on the Xilinx ZYNQ7000]
    init result = 1
Digest NID=672 requested
SHA256 algorithm context initialized
*TEST: Digest INIT 1
SHA256 update
*TEST: Digest Update 1
SHA256 final: sizeof(EVP_MD)= 120
SHA256 cleanup
*TEST: Digest Final 1 Digest size:32
22222222222222222222222222222222

ただし、理由により、openssl コマンド ライン インターフェイスを使用して、先ほど書いたエンジンを実行し、md5 ではなく sha256 を使用して、この他のチュートリアルのようにランダムな文字列のダイジェストを計算させたいと思います。

しかし、これを実行しようとすると、エンジンが読み込まれず、ダイジェストの NID が存在しないというエラーが表示され、代わりに標準アルゴリズムで文字列がハッシュされます。

brett@wintermute:~/openssl_ws/wssha256engine$ echo "Hello" | openssl dgst -engine /home/brett/Thesis/openssl_ws/wssha256engine/bin/libwssha256engine.so -sha256
ERROR: Digest is empty! (NID = 0)
engine "wssha256" set.
(stdin)= 66a045b452102c59d840ec097d59d9467e13a3f34f6494e539ffd32c1bb35f18

コマンド ラインでエンジンを使用できないのに、それをロードする C プログラムを作成できるのはなぜですか? また、エンジンを使用してコマンド ラインからダイジェストを計算するにはどうすればよいでしょうか?

注: コマンド ラインからエンジンをロードすることはできますが、使用することはできません。

4

1 に答える 1