查看端口 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,其中protsmtpimappop3

请注意,如果这些服务中的任何一个支持服务器名称指示,如果您一开始没有请求正确的主机名,您可能无法获得所有证书。 (不过,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 证书的主要内容,如果未能解决你的问题,请参考以下文章

邮件收发POP3/IMAP/SMTP常用端口

发送端口25,465,587端口疑问解答

CDO 在端口 465 和 587 上连接失败,但在 25 上工作

邮件服务

Linux部署mailx服务及发送邮件告警

阿里企业云邮箱各个服务器地址及端口信息