電子メールプロバイダーがSSL証明書を変更して以来、monoに基づくPOP3クライアントは、安全なPOPサーバーに接続して電子メールをダウンロードすることを拒否しています。他のクライアントには問題はありません。例:ThunderbirdおよびOutlook。また、これ以外の奇数ポートをチェックできるほとんどのSSLチェッカーサイトも同様です。私は両方のプロバイダーと協力して問題を特定しようとしましたが、SSL証明書については十分に知らないため、どちらのプロバイダーも障害の所在を理解することができないため、最終的に両方で行き詰まりました。
調査中、次の2つのコマンドの出力の違いに注意が向けられました(読みやすくするために、出力から証明書を削除しました)。
echo "" | openssl s_client -showcerts -connect pop.gmail.com:995
接続済み(00000003)
depth = 2 / C = US / O = GeoTrust Inc./CN=GeoTrust Global CA
検証エラー:num = 20:ローカル発行者証明書を取得できません
戻り値を確認する:0
---
証明書チェーン
0 s:/ C = US / ST = California / L = Mountain View / O = Google Inc / CN = pop.gmail.com
i:/ C = US / O = Google Inc / CN = Google Internet Authority G2
-----証明書の開始-----
-----証明書の終了-----
1 s:/ C = US / O = Google Inc / CN = Google Internet Authority G2
i:/ C = US / O = GeoTrust Inc./CN=GeoTrust Global CA
-----証明書の開始-----
-----証明書の終了-----
2 s:/ C = US / O = GeoTrust Inc./CN=GeoTrust Global CA
i:/ C = US / O = Equifax / OU = Equifax Secure Certificate Authority
-----証明書の開始-----
-----証明書の終了-----
---
サーバー証明書
subject = / C = US / ST = California / L = Mountain View / O = Google Inc / CN = pop.gmail.com
issuer = / C = US / O = Google Inc / CN = Google Internet Authority G2
---
クライアント証明書のCA名が送信されていません
---
SSLハンドシェイクは3236バイトを読み取り、435バイトを書き込みました
---
新規、TLSv1 / SSLv3、暗号はRC4-SHA
サーバー公開鍵は2048ビットです
セキュアな再ネゴシエーションがサポートされています
圧縮:なし
拡張:なし
SSLセッション:
プロトコル:TLSv1
暗号:RC4-SHA
セッションID:745F84194498529B91B7D9194363CBBD23425446CF2BFF3BF5557E3C6606CA06
Session-ID-ctx:
マスターキー:DED1AE0A44609F9D6F54626F4370ED96436A561A59F64D66240A277066322DCD2CCB9A6D198C95F4D2B0C7E6781EECD2
Key-Arg:なし
開始時間:1397678434
タイムアウト:300(秒)
戻りコードを確認します:20(ローカル発行者証明書を取得できません)
---
+ OK Gpopは69.3.61.10 c13mb42148040pdjからのリクエストに対応
完了
echo "" | openssl s_client -showcerts -connect secure.emailsrvr.com:995
接続済み(00000003)
depth = 2 / C = US / O = GeoTrust Inc./CN=GeoTrust Global CA
検証エラー:num = 19:証明書チェーン内の自己署名証明書
戻り値を確認する:0
---
証明書チェーン
0 s:/serialNumber=tG0GnsyAUkdX7DEo15ylNBjQJqAWZ/dD/OU=4159320284/OU=www.rapidssl.com/resources/cps(c)14 / OU = Domain Control Validated-RapidSSL(R)/CN=secure.emailsrvr.comを参照
i:/ C = US / O = GeoTrust、Inc./CN=RapidSSL CA
-----証明書の開始-----
-----証明書の終了-----
1 s:/ C = US / O = GeoTrust、Inc./CN=RapidSSL CA
i:/ C = US / O = GeoTrust Inc./CN=GeoTrust Global CA
-----証明書の開始-----
-----証明書の終了-----
2 s:/ C = US / O = GeoTrust Inc./CN=GeoTrust Global CA
i:/ C = US / O = GeoTrust Inc./CN=GeoTrust Global CA
-----証明書の開始-----
-----証明書の終了-----
---
サーバー証明書
subject = / serialNumber = tG0GnsyAUkdX7DEo15ylNBjQJqAWZ / dD / OU = 4159320284 / OU = www.rapidssl.com / resources / cps(c)14 / OU = Domain Control Validated-RapidSSL(R)/CN=secure.emailsrvr.comを参照
issuer = / C = US / O = GeoTrust、Inc./CN=RapidSSL CA
---
クライアント証明書のCA名が送信されていません
---
SSLハンドシェイクは3876バイトを読み取り、319バイトを書き込みました
---
新規、TLSv1 / SSLv3、暗号はDHE-RSA-AES256-SHA
サーバー公開鍵は2048ビットです
セキュアな再ネゴシエーションがサポートされています
圧縮:なし
拡張:なし
SSLセッション:
プロトコル:TLSv1
暗号:DHE-RSA-AES256-SHA
セッションID:3F4EE3992B46727BE2C7C3E76A9A6A8D64D66EE843CB1BB17A76AE2E030C7161
Session-ID-ctx:
マスターキー:016209E50432EFE2359DB73AB527AF718152BFE6F88215A9CE40604E8FF2E2A3AC97A175F46DF737596866A8BC8E3F7F
Key-Arg:なし
開始時間:1397678467
タイムアウト:300(秒)
戻りコードの確認:19(証明書チェーン内の自己署名証明書)
---
完了
-CApathオプションが提供されると、コマンドはエラーを生成しないため、これが意味があるかどうかを理解しようとしました:
openssl s_client -CApath /etc/ssl/certs -showcerts -connect secure.emailsrvr.com:995
CONNECTED(00000003)
depth=2 C = US, O = GeoTrust Inc., CN = GeoTrust Global CA
verify return:1
depth=1 C = US, O = "GeoTrust, Inc.", CN = RapidSSL CA
verify return:1
depth=0 serialNumber = tG0GnsyAUkdX7DEo15ylNBjQJqAWZ/dD, OU = 4159320284, OU = See www.rapidssl.com/resources/cps (c)14, OU = Domain Control Validated - RapidSSL(R), CN = secure.emailsrvr.com
verify return:1
...
openssl s_client -CApath /etc/ssl/certs -showcerts -connect pop.gmail.com:995
CONNECTED(00000003)
depth=3 C = US, O = Equifax, OU = Equifax Secure Certificate Authority
verify return:1
depth=2 C = US, O = GeoTrust Inc., CN = GeoTrust Global CA
verify return:1
depth=1 C = US, O = Google Inc, CN = Google Internet Authority G2
verify return:1
depth=0 C = US, ST = California, L = Mountain View, O = Google Inc, CN = pop.gmail.com
verify return:1
...
GeofileからCAfile証明書を直接-CAfileダウンロードした後、オプションを正常に使用することもできます。
それでも、フォグクリークは、証明書に問題があると考えているようです。なぜなら、Trust成功せずにモノのストアに証明書を追加しようとしたからです。私はそれらに同意しませんが、(上記のように)ほとんどのSSLチェッカーはポート995をチェックしないか、試行中に成功しますが、SSLエラー7を生成するこのページを見つけました。
出力を正しく解釈して、証明書に問題がないことを意味しますか?
openssl s_clientデフォルトではルート証明書をインポートしないようです。代わりにこれを試してください:openssl s_client -connect secure.emailsrvr.com:995 -showcerts -CApath /etc/ssl/certs、おそらく、自己署名エラーが消えることに気付くでしょう。