サーバのSSL証明書情報を調べるには?

f:id:ingage:20210519225330p:plain

id:kizashi1122 です。

弊社のサービスを利用しているお客様から「設定したSMTPサーバにうまく接続できない」という問合せを受けることがたまにあります。

接続できない原因としてありえるのが、SSL証明書の問題です。有効期限が切れていたり、接続に使ったドメインと証明書の Common Name が一致してない場合などです。

HTTPS であればブラウザからアクセスし、ブラウザの機能をつかって証明書の内容を確認することができます。

SMTPやPOP3であればどうすればよいでしょうか?

それ、 openssl コマンドを使えばできます。

SMTPS の場合

$ openssl s_client -connect smtp.example.com:465 -showcerts

POP3S の場合

$ openssl s_client -connect pop.example.com:995 -showcerts

SMTP(STRATTLS) の場合

たまに SMTPS には対応しておらず STARTTLS には対応している場合もあります。 そんな場合はこうします。

$ openssl s_client -starttls smtp -crlf -connect smtp.example.com:587

接続後はそのままSMTPのやりとりができます。

便利ですね!