2017-06-08 59 views
1

RSA署名用の公開鍵と秘密鍵のデバッグを作成しました。 そして、sha256ハッシュを生成し、cp1.binに保存します。 次に署名を検証しようとしますが、常に失敗します。 pss埋め込みを使用しないと、verifyコマンドが成功します。 誰でもコメントしていただけますか?pss埋め込みで署名を検証する方法は?

おかげ

C:\プロジェクト\ PKC> opensslのpkeyutl -sign -in cp1.bin -inkey pvt_dbg.pem -out sig1.bin -pkeyoptダイジェスト:-pkeyopt rsa_padding_modeをSHA256:PSS -pkeyopt rsa_pss_saltlen:32

C:\プロジェクト\ PKC> opensslのpkeyutl -verify -in cp1.bin -sigfile sig1.bin -pkeyopt rsa_padding_mode:PSS -pkeyopt rsa_pss_saltlen:32 -pubin -inkey pub_dbg.pem 署名検証の失敗

+0

スタックオーバーフローは、プログラミングや開発の質問のためのサイトです。この質問は、プログラミングや開発に関するものではないので、話題にはならないようです。ヘルプセンターの[ここではどのトピックを参照できますか](http://stackoverflow.com/help/on-topic)を参照してください。おそらく、[スーパーユーザ](http://superuser.com/)や[Unix&Linux Stack Exchange](http://unix.stackexchange.com/)の方が良いかもしれません。また、[Dev Opsについての質問はどこに投稿しますか?](http://meta.stackexchange.com/q/134306) – jww

答えて

1

今すぐverifyコマンドを正常に実行できます。

$ openssl pkeyutl -sign \ 
    -in hashOut.bin -inkey pvt_dbg.pem \ 
    -out sig1.bin \ 
    -pkeyopt digest:sha256 \ 
    -pkeyopt rsa_padding_mode:pss \ 
    -pkeyopt rsa_pss_saltlen:-1 

その後

$ openssl pkeyutl -verify \ 
    -in cp1.bin -sigfile sig1.bin \ 
    -pkeyopt rsa_padding_mode:pss \ 
    -pubin -inkey pub_dbg.pem \ 
    -pkeyopt rsa_pss_saltlen:-1 \ 
    -pkeyopt digest:sha256 
+0

OpenSSL 1.0.1fを使用しているUbuntuでは、すべての 'pkeyopt'は最後または次の方にある必要がありますエラーがスローされます: '-pkeyoptコマンドの前に-inkey'。また、私はハッシュを生成するために以下のコマンドを使用しました: 'openssl dgst -sha256 -binary payload.bin> cp1.bin' – akhan

関連する問題