簡體   English   中英

無法使用 openssl 驗證公共證書的模塊(無法驗證 rsa 公鑰來自私鑰)

[英]Unable to verify a public cert's modules with openssl (Unable to verify rsa public key came from a private key)

我創建了一個這樣的私鑰和公鑰對:

openssl genrsa -out priv.pem 2048
openssl rsa -in priv.pem -pubout -out pub.pem

我現在想通過 openssl 驗證公鑰是否來自私鑰。 我能夠 hash 模數是這樣的:

openssl rsa -noout -modulus -in priv.pem | openssl md5

但是,當我嘗試 hash 公鑰的模數時,出現錯誤:

penssl x509 -noout -modulus -in pub.pem | openssl md5
unable to load certificate
140020691816896:error:0909006C:PEM routines:get_name:no start line:../crypto/pem/pem_lib.c:745:Expecting: TRUSTED CERTIFICATE
(stdin)= d41d8cd98f00b204e9800998ecf8427e

我知道我正在解決這個問題,但是我不知道有一種方法可以實際測試公鑰是否正確來自私鑰。 我如何才能在 inux 中使用 openssl 完成此操作,僅基於我創建密鑰對的方式,除了用我的公鑰加密文件然后嘗試用私鑰解密它?

您可以使用與私鑰相同的命令,但使用-pubin參數。 例如:

openssl rsa -noout -modulus -in pub.pem -pubin | openssl md5

x509命令需要 X.509 證書作為輸入。 您尚未創建證書,並且僅提供公鑰作為輸入。 證書不僅僅是公鑰; 它是身份信息和公鑰之間的綁定。

暫無
暫無

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

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