查看端口 587、25、110、465、995、143、993 上的 SSL 证书
Posted
技术标签:
【中文标题】查看端口 587、25、110、465、995、143、993 上的 SSL 证书【英文标题】:view SSL certificate on ports 587, 25, 110, 465, 995, 143, 993 【发布时间】:2012-07-29 02:49:52 【问题描述】:如何查看端口 587、25、110、465、995、143 和 993 上使用的 SSL 证书详细信息
我需要检查正在使用哪个域名来保护这些端口。
我在这里和谷歌上搜索过,但找不到任何东西!
【问题讨论】:
【参考方案1】:使用 OpenSSL(默认安装在几乎所有 Linux 发行版上,您还可以从 Shining Light Productions 获得适用于 Windows 的二进制构建):
openssl s_client -connect host:port -servername host [-starttls protocol]
其中host
是您要连接的主机,port
是端口号。
-servername host
将在 TLS 握手中包含主机名(通过 Server Name Indication extension),以允许在同一 IP 上托管多个受保护资源的服务器选择正确的证书。
只有当您检查的服务器默认启动纯文本会话并稍后切换到 SSL/TLS 时,才需要 -starttls protocol
部分,当客户端请求它时(在这种情况下,协议必须是 smtp
之一,pop3
,imap
,ftp
,xmpp
);您应该检查您的服务器配置是否需要开关并相应地包含命令行选项。
【讨论】:
谢谢大家为我工作... openssl s_client -connect mydomain.com:25 -starttls smtp 在我的情况下,我需要添加-servername host
否则它不适用于 SNI。【参考方案2】:
你可以使用OpenSSL:
openssl s_client -connect x.x.x.x:port
(您也可以对完整链使用-showcerts
选项。)
假设常规服务在这些端口上运行,这应该会显示端口 465、995 和 993 的证书,因为它们是首先启动 SSL/TLS 连接的协议。
端口 587、25 (SMTP)、110 (POP3) 和 143 (IMAP) 通过“START TLS”升级使用 SSL/TLS。您需要酌情添加-starttls prot
,其中prot
是smtp
、imap
或pop3
。
请注意,如果这些服务中的任何一个支持服务器名称指示,如果您一开始没有请求正确的主机名,您可能无法获得所有证书。 (不过,HTTPS 的 SNI 可能比这些协议更常见。)
获得证书后,您可以将 PEM 块(在BEGIN
/END
分隔符之间)复制/粘贴(或管道)到openssl x509 -text -noout
的输入中。主机名应该在主题备用名称(DNS 条目)中,如果没有,则在主题 DN 的 CN 中。
【讨论】:
嗨@布鲁诺。您是否碰巧知道如何检查证书的有效性,就像他们在这里所做的那样? geocerts.com/ssl_checker 尝试在那里输入例如“itunesconnect.apple.com”,他们将在这个安全网站上显示各种证书测试。不幸的是,该站点似乎无法在邮件服务器上运行。你知道如何从命令行对邮件服务器的证书执行同样的检查吗? 即使只是直接使用管道也可以:openssl s_client -connect server:25 -starttls smtp -showcerts | openssl x509 -text
Paul 的评论可以合并到答案中,这样会更容易...以上是关于查看端口 587、25、110、465、995、143、993 上的 SSL 证书的主要内容,如果未能解决你的问题,请参考以下文章