以编程方式或通过命令行分析 SSL 证书

Posted

技术标签:

【中文标题】以编程方式或通过命令行分析 SSL 证书【英文标题】:Analyze SSL certificate programmatically or via commandline 【发布时间】:2009-05-24 18:14:23 【问题描述】:

我想分析给定 url 的证书并获取它的一些详细信息。你知道有什么方法可以做到这一点吗?命令行工具可以是 downloadSSLCert https://my.funny.url/ > certFile 之类的东西,然后对其进行分析,例如证书的指纹。它可以是命令行实用程序、C/C++/Objective-C 或 Java 代码,将用于 osx >= 10.5

【问题讨论】:

【参考方案1】:

您可以从命令行进行 SSL 连接:

echo '' | openssl s_client -connect www.google.com:443

输出将包含 base64 编码的 X.509 证书。

要查看更多详细信息,

... | openssl x509 -fingerprint -text

如果您需要指纹,请省略“-text”标志并添加“-out /dev/null”。

【讨论】:

+1 我想要更多:openssl s_client -connect www.google.com:443 |少因为输出可能是广泛的 谢谢!有没有办法从这些信息中提取指纹?例如,谷歌有一个以 AB:BE 开头的 sha1 指纹。如何获取指纹? @Victor - OP 似乎想要一种非交互式方法 - 较少是交互式 cmd。 @Alnitak:谢谢,使用 -sha1 选项,我可以读取信息,我需要! 你可以用-noout代替-out /dev/null

以上是关于以编程方式或通过命令行分析 SSL 证书的主要内容,如果未能解决你的问题,请参考以下文章

Confluence 6 通过 SSL 或 HTTPS 运行 - 备注和问题解决

新手:通过命令行进行性能分析

在 Linux 命令行上以编程方式删除所有蓝牙设备

如何在IIS7安装多域名SSL证书

使用 Certbot 申请 Let's Encrypt SSL 证书,并定时续期

如何以编程方式将证书添加为当前JVM实例的受信任