簡體   English   中英

OpenSSL:使用證書中的公鑰驗證RSA加密數據

[英]Openssl: Verify RSA encrypted data with public key in certificate

我在一個名為digital_signatue1.txt的文件中有一個base64編碼的數字簽名:

LE3v7aHDOtCYEWrURYfxrq4tAx5zg0siBK0yBdYJTxWTFw/tLoEOcT0JZPRy8RMY
bkCuLClsdVnjYhyfots3RyVl4uaSd2gpEnIN6YCo/DBCBltfWri3rFwtSeV/Gm9K
4+fMNiziTYjUWFS+1v1rbFxv4MbsRFEfYEtU0+xVHN8=

為了對這個數字簽名進行base64解碼,我使用了以下命令:

openssl base64 -d -in digital_signature1.txt -out digital_signature2.txt

然后,為了驗證數字簽名是否由發送者簽名,我使用了以下命令:

openssl rsautl -verify -inkey sender-cert.pem -certin -in digital_signature2.txt

但是,它給了我以下輸出:

Loading 'screen' into random state - done
RSA operation error
4080:error:0407006A:rsa routines:RSA_padding_check_PKCS1_type_1:block type is not     01:./crypto/rsa/rsa_pk1.c:100:
4080:error:04067072:rsa routines:RSA_EAY_PUBLIC_DECRYPT:padding check     failed:./crypto/rsa/rsa_eay.c:699:

知道我在做什么錯嗎?

根據簽名驗證的理論,它需要滿足以下條件:1.已簽名的數據。 2.數據簽名3.公鑰。

在這里,您具有簽名和公共密鑰,但是我懷疑數據在哪里? 數據必須位於使用rsautl簽名的digital_signature2.txt中。 請檢查digital_signature2.txt是否格式正確。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM