【问题标题】:How to get the openssl hash corresponding to Fiddler root certificate如何获取Fiddler根证书对应的openssl hash
【发布时间】:2021-07-29 17:35:28
【问题描述】:

我正在使用OpenSsl for windows
我想获取与我从以下位置下载的 Fiddler 根证书相关的证书哈希:
http://ipv4.fiddler:8888/

所以我从命令行执行:

openssl x509 -hash -noout -in  FiddlerRoot.cer

但是我得到了这个错误,而不是得到 8 个字符长的字母数字哈希:

unable to load certificate
15176:error:0906D06C:PEM routines:PEM_read_bio:no start line:./crypto/pem/pem_lib.c:647:Expecting: TRUSTED CERTIFICATE

该消息似乎与 PEM(隐私增强邮件)有关,但 Fiddler 的证书没有 PEM,我不需要它,因为我只希望证书“确保远程计算机的身份”。
可能是我搞错了,哈希只是为了其他目的?

该命令确实适用于我在 /system/etc/security/cacerts/00673b5b.0 从 Android 提取的其他证书。返回00673b5b
我在记事本中打开了这两个证书进行比较,发现来自 Android 的证书是可读格式并且有一个 PEM 部分,而 FiddlerRoot.cer 是二进制的,没有 PEM,所以它可能有一些事情要做。

请注意,证书哈希与文件的 CRC32 或其他文件哈希不同,而是与 SSL 相关的内容(我已经测试过文件的哈希是否与 SSL 哈希匹配但不匹配)。

我需要证书哈希的原因是因为我认为 Android 需要使用哈希和“.0”扩展名命名证书文件:[CertHash].0
并且在“用户”商店中的 Android 中安装证书对我不起作用,它必须在“系统”商店中。

有人可以提供一种方法/命令来获取FiddlerRoot.cer 哈希吗?
还是我在 Android 的“系统”商店中安装 FiddlerRoot.cer 的命名要求有误?
有没有其他方法可以在“系统”存储中安装 FiddlerRoot.cer 而无需计算证书哈希? 请注意,从 Android 的用户界面中,安装证书会转到“用户”商店,而不是“系统”。

【问题讨论】:

    标签: android ssl hash openssl ssl-certificate


    【解决方案1】:

    PEM 不仅适用于电子邮件,它还是文件格式 (see wikipedia)。

    FiddlerRoot.cer 在计算哈希之前必须转换为.pem 格式:

    openssl x509 -inform der -in FiddlerRoot.cer -outform PEM -out FiddlerRoot.pem
    

    然后你终于可以用命令得到哈希了:

    openssl x509 -hash -noout -in  FiddlerRoot.pem
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-18
      • 1970-01-01
      • 1970-01-01
      • 2013-05-25
      • 2012-04-18
      • 1970-01-01
      • 1970-01-01
      • 2012-11-22
      相关资源
      最近更新 更多