【问题标题】:view SSL certificate on ports 587, 25, 110, 465, 995, 143, 993查看端口 587、25、110、465、995、143、993 上的 SSL 证书
【发布时间】:2012-07-29 02:49:52
【问题描述】:

如何查看端口 587、25、110、465、995、143 和 993 上使用的 SSL 证书详细信息

我需要检查正在使用哪个域名来保护这些端口。

我在这里和谷歌上搜索过,但找不到任何东西!

【问题讨论】:

    标签: email ssl certificate telnet ports


    【解决方案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 的评论可以合并到答案中,这样会更容易...
    猜你喜欢
    • 2015-02-17
    • 2015-10-16
    • 2013-03-25
    • 1970-01-01
    • 2012-04-25
    • 1970-01-01
    • 2012-10-18
    • 2019-05-11
    • 2014-12-20
    相关资源
    最近更新 更多