【发布时间】: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