【问题标题】:Fingerprint of RSA public keyRSA公钥的指纹
【发布时间】:2021-07-26 11:28:17
【问题描述】:

我正在尝试从如下创建的公钥中获取指纹:

openssl genrsa -out test.pem -aes128 -passout pass:testphrase 2048
openssl rsa -pubout -in test.pem -out test_public.pem -passin pass:testphrase

我正在将公钥上传到我的云提供商,确认指纹为70:d6:cb:9c:c7:95:ad:6f:49:84:4f:d1:fb:71:a8:53,我可以使用此命令从私钥获取指纹

openssl rsa -in test.pem -pubout -outform DER | openssl md5 -c

(stdin)= 70:d6:cb:9c:c7:95:ad:6f:49:84:4f:d1:fb:71:a8:53

我试过了

openssl rsa -pubin test_public.pem -pubout -outform DER | openssl md5 -c

但这给了我d4:1d:8c:d9:8f:00:b2:04:e9:80:09:98:ec:f8:42:7e。 我想直接从公钥中获取指纹,我觉得我在这里遗漏了一些简单的东西。

【问题讨论】:

  • 您可以保存并检查最后两个 openssl 命令的 DER 格式输出,并使用 lapo.it/asn1js 查看它们的结构,这可能有助于了解它们的不同之处,从而具有不同的指纹。
  • 我无法重现该问题。这两个语句在我的机器上返回相同的哈希值。您确定确定相关键的哈希值吗?顺便说一句,最后一个 OpenSSL 语句在 test_public.pem 之前缺少一个 -in。但这可能只是一个复制/粘贴错误,因为这会产生错误消息而不是错误的哈希。
  • 我不知怎的错过了rsa: Use -help for summary. (stdin)= d4:1d:8c:d9:8f:00:b2:04:e9:80:09:98:ec:f8:42:7e rsa: Use -help for summary. 部分
  • @Robert:你不需要网站; openssl asn1parse [-inform der] 一样好。但是你甚至不需要解析;如前所述,这里的真正问题是第二个命令有语法错误并且不产生 any 输出数据(仅在 stderr 上出现错误消息),您可以看到与 @987654332 的区别@ 或cmp -- 或dirfc /b
  • @Topaco:实际上rsa 会产生错误消息和no 输出,而没有inputmd5 -c 会产生无数据的哈希也就是 d41d... 值的空或 null。

标签: ssl openssl rsa


【解决方案1】:

好的,感谢@Topaco,我现在知道这些命令了

openssl rsa -in test.pem -pubout -outform DER | openssl md5 -c

openssl rsa -pubin -in test_public.pem -outform DER | openssl md5 -c

给出相同的哈希值,我在test_public.pem 之前错过了-in 标志。

【讨论】:

    猜你喜欢
    • 2021-02-20
    • 2020-01-18
    • 2012-03-25
    • 2018-12-06
    • 2018-08-06
    • 1970-01-01
    • 2017-02-06
    • 2017-03-07
    相关资源
    最近更新 更多