Ubuntu 10.10でOpenSSLクライアントを使用して、ExperianへのSSL接続を確認しようとしています。
openssl s_client -CApath /etc/ssl/certs/ -connect dm1.experian.com:443
問題は、接続がVerifyリターンコードで終了することです:21(最初の証明書を検証できません)。
証明書リストを確認しましたが、Experianの署名に使用された証明書(VeriSign Class 3 Secure Server CA-G3)がリストに含まれています。
/etc/ssl/certs/ca-certificates.crt
それでも、最初の証明書を検証できない理由はわかりません。前もって感謝します。
全体の応答は次のとおりです: https://Gist.github.com/124879
最初のエラーメッセージは、問題の詳細を示しています。
検証エラー:num = 20:ローカル発行者証明書を取得できません
エンドエンティティサーバー証明書の発行認証局は
VeriSignクラス3セキュアサーバーCA-G3
CAファイルをよく見てください。not中間CAであるため、この証明書が見つかります-見つかったのはsimilar-named VeriSignのG3 Public Primary CAです。
しかし、なぜ他の接続は成功しますが、これは成功しませんか?問題は、サーバーの構成の誤りです(-debug
オプションの使用を参照してください)。 「正常な」サーバーは、ハンドシェイク中に証明書チェーン全体を送信するため、必要な中間証明書が提供されます。
しかし、失敗しているサーバーは、エンドエンティティ証明書を送信しますのみ OpenSSLは、欠落している中間証明書を「オンザフライで」ダウンロードできません(Authority Information Access拡張機能を解釈することで可能になります) 。したがって、s_client
を使用して試行は失敗しますが、それでも、たとえば、 FireFox(「証明書の発見」機能をサポートします)。
問題を解決するための選択肢は、サーバーにチェーン全体を送信させることによりサーバー側でこれを修正するか、欠落している中間証明書をクライアント側パラメーターとしてOpenSSLに渡すことです。
エンボスの回答に追加情報を追加します。
簡単に言うと、証明書チェーンに間違った証明書があります。
たとえば、ほとんどの場合、認証局から3つのファイルが提供されます。
ほとんどの場合、これらのファイルはすべて1つのバンドルに結合されています。
-----BEGIN CERTIFICATE-----
(Your Primary SSL certificate: your_domain_name.crt)
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
(Your Intermediate certificate: DigiCertCA.crt)
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
(Your Root certificate: TrustedRoot.crt)
-----END CERTIFICATE-----
バンドルを作成しても、古いバージョンまたは誤ったバージョンの中間証明書(この例ではDigiCertCA.crt)を使用すると、説明したとおりの症状が現れます。
認証局からすべての証明書を再ダウンロードし、新しいバンドルを作成します。
署名済み証明書をAmazon Elastic Load Balancerインスタンスにインストールするのと同じ問題に遭遇しました。
ブラウザー(Chrome)を介してすべてが見つかったようですが、Javaクライアントを介してサイトにアクセスすると、例外javax.net.ssl.SSLPeerUnverifiedExceptionが生成されました
私がやっていなかったことは、証明書をELBインスタンスにインストールするときに「証明書チェーン」ファイルを提供することでした( https://serverfault.com/questions/419432/install-ssl-on-Amazon-elastic-loadを参照してください-balancer-with-godaddy-wildcard-certificate )
署名された公開キーは署名機関からのみ送信されたため、独自の証明書チェーンファイルを作成する必要がありました。ブラウザーの証明書ビューアーパネルを使用して、署名チェーンの各証明書をエクスポートしました。 (重要な証明書チェーンの順序、 https://forums.aws.Amazon.com/message.jspa?messageID=222086 を参照)