組み込み CA バンドルを使用して GoDaddy SHA2 SSL 証明書を検証できません

組み込み CA バンドルを使用して GoDaddy SHA2 SSL 証明書を検証できません

興味深い問題に遭遇しました。LTLの荷送人に連絡するPHPスクリプトがあります(https://facts.dohrn.com/)。そのスクリプトはSSL証明書を検証できないため失敗しています。サイトにアクセスしたところ、GoDaddy SHA2証明書(GoDaddy 証明書バンドル - G2(SHA2 で使用されるもの)

の最新バージョンをca-certificateインストールしましたが、Go Daddy ルート証明機関 - G2しかし、それは同じことではなく、すべての形式の検証で失敗します。バンドルをコピーし、それを CURL リクエストで直接使用することで、最終的に動作させることができました。ただし、これは単なる回避策です。CA を直接インストールせずにこれを動作させるために、他に見逃しているものはありますか?

# openssl s_client -connect facts.dohrn.com:443
CONNECTED(00000003) depth=0 OU = Domain Control Validated、CN = facts.dohrn.com verify
error:num=20:unable to get local issuer certificate verify return:1
depth=0 OU = Domain Control Validated、CN = facts.dohrn.com verify
error:num=27:certificate not trusted verify return:1 depth=0 OU =
Domain Control Validated、CN = facts.dohrn.com verify
error:num=21:unable to verify the first certificate verify return:1
--- Certificate chain 0 s:/OU=Domain Control Validated/CN=facts.dohrn.com
i:/C=US/ST=Arizona/L=Scottsdale/O=GoDaddy.com,
Inc./OU= http://certs.godaddy.com/repository//CN=Go Daddy Secure
Certificate Authority - G2
--- Server certificate [certificate removed]
-----END証明書-----
subject=/OU=Domain Control Validated/CN=facts.dohrn.com
issuer=/C=US/ST=Arizona/L=Scottsdale/O=GoDaddy.com,
Inc./OU= http://certs.godaddy.com/repository//CN=Go Daddy Secure
Certificate Authority - G2
--- クライアント証明書の CA 名は送信されませんでした
--- SSL ハンドシェイクにより 1470 バイトが読み取られ、563 バイトが書き込まれました
--- 新規、TLSv1/SSLv3、暗号は RC4-SHA です サーバー公開キーは 2048 ビットのセキュアです 再ネゴシエーションはサポートされていません 圧縮: なし 拡張:
なし SSL セッション:
プロトコル: TLSv1
暗号: RC4-SHA
セッション ID: 1A23000017A7003411F3833970B7FA23C6D782E663CE0C8B17DE4D5A15DEE1A5
セッション ID-ctx:
マスター キー: F6C9C6345A09B7965AF762DE4BEFE8BDD249136BF30D9364598D78CF123F17230B0C25DD552F103BEF9A893F75EAD2B0
キー引数: なし
Krb5 プリンシパル: なし
PSK アイデンティティ: なし
PSK アイデンティティ ヒント: なし
開始時間: 1432044402
タイムアウト: 300 (秒)
検証リターン コード: 21 (最初の証明書を検証できません)

答え1

ウェブサーバーはhttps://facts.dohrn.com/中間証明書は含まれません。

これは、クライアント側の設定ミスのようです。クライアントが事前にルート証明書を持っていることだけを前提としているため、互換性の問題が発生する可能性が確実にあります。

証明書チェーンを参照する。例:SSLLabsの結果: (SSL 設定には他にも多くの問題があることにも気づくでしょう。)

1   Sent by server  facts.dohrn.com 
Fingerprint: 823e3a70f194c646498b2591069b3727ad0014d9 
RSA 2048 bits (e 65537) / SHA256withRSA

2   Extra download  Go Daddy Secure Certificate Authority - G2 
Fingerprint: 27ac9369faf25207bb2627cefaccbe4ef9c319b8 
RSA 2048 bits (e 65537) / SHA256withRSA

3   In trust store  Go Daddy Root Certificate Authority - G2   Self-signed  
Fingerprint: 47beabc922eae80e78783462a79f45c254fde68b 
RSA 2048 bits (e 65537) / SHA256withRSA


主な選択肢としては、サービス プロバイダーにサービスを修正するよう説得するか、サーバーが提供するはずだった証明書をクライアントに提供して、自分の側で問題を回避するかのいずれかだと思います。

関連情報