rmdir.cn

openssl x509 -fingerprint

计算证书指纹

语法

openssl x509 -in 证书文件 -noout -fingerprint -sha256

说明

适用于比对两端证书是否完全一致,或在配置中固定信任某个证书指纹。指纹算法默认使用 SHA-1,新系统建议显式指定 -sha256。指纹相同表示证书内容完全一致,指纹不同则说明证书不是同一份,哪怕主体与域名看起来一样。

参数

  • -fingerprint必填

    输出证书指纹

  • -sha256

    指定指纹摘要算法

示例

计算 SHA-256 指纹

用于与对方提供的指纹比对。

openssl x509 -in cert.pem -noout -fingerprint -sha256

注意事项:比对时应通过可信渠道获取对方指纹,直接在通信内容中获取的指纹无法证明身份。

比对两份证书

确认本地与服务端使用同一份证书。

openssl x509 -in local.pem -noout -fingerprint -sha256 && openssl s_client -connect example.com:443 -servername example.com </dev/null 2>/dev/null | openssl x509 -noout -fingerprint -sha256

注意事项:s_client 的输出包含整条链,需确认管道中解析的是叶子证书。

参考资料