OpenSSL dgstを使用してファイル全体の代わりにファイルのハッシュを使用して確認できますか?

OpenSSL dgstを使用してファイル全体の代わりにファイルのハッシュを使用して確認できますか?

確認文書電子署名、OpenSSLターゲット必要:

  • 公開鍵(発信者から)
  • 署名(発信者から)
  • ファイル(元の送信者が変更していないことを確認するため)

例:

openssl dgst -sha256 -verify publicKey.pem -signature senderSig.der WholeFile.txt

それ ファイルのSHA256再計算次に、それを暗号化されたデジタル署名ハッシュと比較して確認します。

ただし、SHA256を「直接」実行するか、外部でSHA256を実行してdgst値を渡そうとします。ファイルの代わりに

それは次のとおりです。

openssl dgst -publicKey.pem チェック -senderSig.der 署名 -theFiles256Hash SHA256ofWholeFile.txt

見ているコマンドパラメータ、可能なようですが、正しい組み合わせが見つかりません。

可能ですか?

これが不可能な場合は、 dgst別のOpenSSLユーティリティを使用して複数のステップに分割できますか?

(ECDSAを使用)

答え1

これはECDSAに関するものなので、OPの質問に対する答えではありませんが、RSAを使用している人にとってはこれが役に立ちます。

dgstユーティリティを使用してハッシュを直接確認することはできません。pkeyutlユーティリティを使用する必要があります。

openssl pkeyutl -in hash.bin -inkey pubkey.pem -pubin -verify -sigfile signature.bin -pkeyopt digest:sha256

ほとんどのパラメータは直接記録されます。OpenSSL

関連情報