我需要获得一些邮件服务器的 SSL 证书。我知道我需要执行以下步骤。
- 对域名 (
dig google.com mx) 执行 DNS mx 查询。 - 使用该信息下载 SSL 证书 (
openssl s_client -showcerts -connect google.com:443)。
但我不确定我应该从第 1 步中获取哪些信息以及应该如何在第 2 步中使用它。
我需要获得一些邮件服务器的 SSL 证书。我知道我需要执行以下步骤。
dig google.com mx) 执行 DNS mx 查询。openssl s_client -showcerts -connect google.com:443)。但我不确定我应该从第 1 步中获取哪些信息以及应该如何在第 2 步中使用它。
要获取 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