[解決済み] OpenSSL: Experian URL の最初の証明書を検証できません。
質問
Ubuntu 10.10でOpenSSLクライアントを使用してExperianへのSSL接続を確認しようとしています。
openssl s_client -CApath /etc/ssl/certs/ -connect dm1.experian.com:443
問題は、ベリファイのリターンコードで接続が終了することです。21 (unable to verify the first certificate)で接続が終了することです。
証明書リストを確認したところ、Experianの署名に使用された証明書(VeriSign Class 3 Secure Server CA - G3)がリストに含まれています。
/etc/ssl/certs/ca-certificates.crt
しかし、なぜ最初の証明書を確認することができないのかがわかりません。 よろしくお願いします。
回答の全文はこちらでご覧いただけます。 https://gist.github.com/1248790
解決方法は?
最初のエラーメッセージは、問題の詳細を教えてくれています。
<ブロッククオートverify error:num=20:unable to get local issuer certificate.
エンドエンティティサーバ証明書の発行元証明機関は
<ブロッククオートベリサインClass3セキュアサーバ認証局 - G3
CAファイルをよく見てください。 ではなく この証明書は中間CAであるため、この証明書を見つけることはできません。 似たような名前の VeriSignのG3 Public Primary CAです。
しかし、なぜ他の接続は成功し、この接続は成功しないのでしょうか?問題は、サーバーの設定ミスです(
-debug
オプション)。良いサーバは、ハンドシェイク時に証明書チェーン全体を送信するため、必要な中間証明書を提供します。
しかし、失敗しているサーバーが送ってくるのは
のみ
はエンドエンティティ証明書であり、OpenSSL は、欠落している中間証明書を "オンザフライでダウンロードすることができません (Authority Information Access 拡張を解釈すれば可能です)。そのため、次のようにすると失敗します。
s_client
しかし、例えばFireFoxで同じURLをブラウズすると成功します(FireFoxは"certificate discovery"機能をサポートしています)。
この問題を解決するには、サーバー側でチェーン全体を送信するように修正するか、欠落している中間証明書をクライアント側のパラメータとしてOpenSSLに渡すかのどちらかを選択します。
関連
-
[解決済み] Amazon S3でのSSL化の強制
-
[解決済み] Curl CURL (51) SSL エラーを修正: 代替となる証明書のサブジェクト名が一致しません。
-
[解決済み] SNIとCCSを使用してhttpsのデフォルトのWebサイトを設定する方法
-
[解決済み] クライアント証明書を使用しようとしたときのsslv3 alert handshakeの失敗の解決法
-
[解決済み] OpenSSLを使用して自己署名入りSSL証明書を生成する方法を教えてください。
-
[解決済み] サーバーから証明書を取得するためにopensslを使用する
-
[解決済み] HTTPSのクエリ文字列は安全ですか?
-
[解決済み】ファイアウォール越しにHTTPSでGitHubにアクセスしようとすると、SSL証明書が拒否される。
-
[解決済み] node.js、socket.ioのSSL化
-
[解決済み] 紛失したIIS Express SSL証明書を復元するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】ハンドシェイクに失敗しました。SSLアラート番号40
-
[解決済み] Windows環境でPKIXパスがどのトラストアンカーとも連鎖しないエラーが発生する。
-
[解決済み] をカールします。(35) error:1408F10B:SSLルーチン:ssl3_get_record:バージョン番号が間違っています。
-
[解決済み] wget ssl alert ハンドシェイク失敗
-
[解決済み] openssl s_client -cert: クライアント証明書がサーバーに送信されたことを証明する
-
[解決済み] SSLエラー: ローカルの発行者証明書を取得できない
-
[解決済み] HTTPSのURLは暗号化されていますか?
-
[解決済み] .keyと.crtファイルから.pemファイルを取得する方法は?
-
[解決済み] HTTPSのクエリ文字列は安全ですか?
-
[解決済み] IISExpressでのSSL接続・接続解除について