web-dev-qa-db-ja.com

メールサーバーのSSL証明書を取得する方法は?

一部のメールサーバーのSSL証明書を取得する必要があります。次の手順を実行する必要があることはわかっています。

  1. ドメイン名(Dig google.com mx)。
  2. 情報を使用してSSL証明書(openssl s_client -showcerts -connect google.com:443)。

しかし、ステップ1でどの情報を取得する必要があるのか​​、およびステップ2でそれをどのように使用する必要があるのか​​わかりません。

8
user2586432

SMPTサーバーのSSL/TLS証明書を取得するには、DNSクエリの回答セクションから1つの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

11
jojoob