SHA-1 でハッシュし、ハッシュを RSA 秘密鍵で暗号化することによって署名されたファイルを検証しようとしています。
明らかに、RSA 公開鍵を使用して検証しています。キーは DER 形式です。
署名の検証は、Java の署名クラスを使用して正しく機能します。
私が試しているopensslコマンド(および結果)は次のとおりです。
~/Downloads/openssl-1.0.0-beta3/apps/openssl pkeyutl -in encryptedZip.bin
-keyform DER -verify -sigfile savedDigitalSignature.txt -pubin -inkey public.der
WARNING: can't open config file: /usr/local/ssl/openssl.cnf
Signature Verification Failure
適用される openssl 構成ファイルには何も表示されないため、警告は重要ではないと思います。
savedDigitalSignature.txt ファイルには、署名バイトが含まれています。
私の理論では、openssl は特定のファイル形式であるデジタル署名を探しているということですが、それがどうあるべきかを示すドキュメントには何も見つかりませんでした。
考え?