如何获取邮件服务器的 SSL 证书?

信息安全 tls 证书 linux 证书颁发机构
2021-08-20 22:02:25

我需要获得一些邮件服务器的 SSL 证书。我知道我需要执行以下步骤。

  1. 对域名 ( dig google.com mx) 执行 DNS mx 查询。
  2. 使用该信息下载 SSL 证书 ( openssl s_client -showcerts -connect google.com:443)。

但我不确定我应该从第 1 步中获取哪些信息以及应该如何在第 2 步中使用它。

1个回答

要获取 SMPT 服务器的 SSL/TLS 证书,请从 DNS 查询的答案部分中选择一个 MX 记录的域并将其提供给 openssl:

$ dig gmail.com mx
[...]
;; ANSWER SECTION:
gmail.com.      3599    IN  MX  20 alt2.gmail-smtp-in.l.google.com.
gmail.com.      3599    IN  MX  5 gmail-smtp-in.l.google.com.
gmail.com.      3599    IN  MX  30 alt3.gmail-smtp-in.l.google.com.
gmail.com.      3599    IN  MX  10 alt1.gmail-smtp-in.l.google.com.
gmail.com.      3599    IN  MX  40 alt4.gmail-smtp-in.l.google.com.
[...]

$ openssl s_client -connect gmail-smtp-in.l.google.com:25 -starttls smtp
[...]

注意:不能安全地假设与 SMTP 服务器在同一台机器上运行的 Web 服务器(如果有)使用相同的证书。

另请参阅https://serverfault.com/questions/131627/how-to-inspect-remote-smtp-servers-tls-certificate#131628