![如何访问SSL服务器的原始证书链?](https://linux22.com/image/15598/%E5%A6%82%E4%BD%95%E8%AE%BF%E9%97%AESSL%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%9A%84%E5%8E%9F%E5%A7%8B%E8%AF%81%E4%B9%A6%E9%93%BE%EF%BC%9F.png)
我知道如何获取服务器提供的证书链
openssl s_client -showcerts -connect server.domain:portnum <<<''
但是,openssl 打印的是“重建的”证书链,而不是原始证书链。如果证书以其他顺序显示,openssl 将在显示之前重新排序。此外,如果有额外的证书,它会跳过它们。
我想访问服务器提供的未处理的证书列表。
这可能吗?如何实现?
答案1
感谢评论,我尝试了其他工具。 wireshark,嗯,不完全是我想要的,但作为最后的手段肯定会起作用。 keytool 不仅仅是我正在寻找的正确工具。它不会消除额外的证书,但会将它们移至接近尾部的位置。很近...
事实上,gnutls-cli 帮我完成了这项工作
gnutls-cli --print-cert server.domain:port
再次感谢@garethTheRed 的建议。我脑子里只有 openssl,关键是尝试其他东西。