Openssl
是否可以使用 OpenSSL dgst 使用文件的雜湊而不是整個文件進行驗證?
為了驗證文件數字簽名,OpenSSL dgst需要:
- 公鑰(來自發件人)
- 簽名(來自發件人)
- 文件(以驗證它沒有被原始發件人修改)
openssl dgst -sha256 -verify publicKey.pem -signature senderSig.der wholeFile.txt
它 **重新計算文件的 SHA256,**然後將其與加密的數字簽名雜湊進行比較,以進行驗證。
但是,想要執行 SHA256“我自己”或外部
dgst
並將該值傳遞給它而不是 file。就像是:
openssl dgst -verify publicKey.pem -signature senderSig.der -theFiles256Hash SHA256ofWholeFile.txt
查看命令參數,似乎可行,但找不到正確的組合。
這可能嗎 ?
如果
dgst
不能這樣做,是否可以使用其他 OpenSSL 實用程序將其分解為多個步驟?(使用 ECDSA)
這不能回答 OP 的問題,因為它是關於 ECDSA 的,但使用 RSA 的人可能會覺得這很有幫助。
無法使用
dgst
實用程序直接驗證雜湊。必須使用pkeyutl
實用程序:openssl pkeyutl -in hash.bin -inkey pubkey.pem -pubin -verify -sigfile signature.bin -pkeyopt digest:sha256
大多數參數都直接記錄在OpenSSL