Debian 6.0 32ビットサーバーでSSLを設定できません。SSLは比較的新しいので、ご容赦ください。できる限り多くの情報を掲載しています。
注:サーバーのIDと整合性を保護するために、実際のドメイン名が変更されました。
構成
サーバーはnginxを使用して実行されています。次のように構成されています。
ssl_certificate /usr/local/nginx/priv/mysite.ca.chained.crt;
ssl_certificate_key /usr/local/nginx/priv/mysite.ca.key;
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_verify_depth 2;
cat mysite.ca.crt bundle.crt > mysite.ca.chained.crt
どこmysite.ca.crt
署名機関によって私に与えられた証明書であり、bundle.crt
また私の署名機関によって私に送られたCA証明書です。問題は、SSL証明書をGlobalSignから直接購入したのではなく、私のホスティングプロバイダーであるSinglehopから購入したことです。
テスト中
証明書はSafariとChromeでは正しく検証されますが、Firefoxでは検証されません。最初の検索で、CAに問題がある可能性があることが判明しました。
私は同様の質問への回答を調査しましたが、各証明書がどのような目的を果たしているのか本当に理解していないため、解決策を見つけることができませんでした。
私は、接続をテストするためのopensslのs_clientを使用し、同じ問題を示しているように思わ出力受信同様の質問を。エラーは次のとおりです。
depth=0 /OU=Domain Control Validated/CN=*.mysite.ca
verify error:num=20:unable to get local issuer certificate
verify return:1
depth=0 /OU=Domain Control Validated/CN=*.mysite.ca
verify error:num=27:certificate not trusted
verify return:1
opensslの応答の詳細(証明書と不要な情報は切り捨てられています)は、こちらにあります。
警告も表示されます:
No client certificate CA names sent
これが問題である可能性はありますか?nginxがこれらのCA名を確実に送信するようにするにはどうすればよいですか?
問題を解決する試み
ルートCAをGlobalSignから直接ダウンロードして問題を解決しようとしましたが、同じエラーを受け取りました。update-ca-certificates
コマンドを使用してDebianサーバーのルートCAを更新しましたが、何も変更されませんでした。これは、私のプロバイダーから送信されたCAが正しいためである可能性が高く、証明書が2回チェーンされることになり、役に立ちません。
0 s:/OU=Domain Control Validated/CN=*.mysite.ca
i:/C=BE/O=GlobalSign nv-sa/CN=AlphaSSL CA - SHA256 - G2
1 s:/O=AlphaSSL/CN=AlphaSSL CA - G2
i:/C=BE/O=GlobalSign nv-sa/OU=Root CA/CN=GlobalSign Root CA
2 s:/C=BE/O=GlobalSign nv-sa/OU=Root CA/CN=GlobalSign Root CA
i:/C=BE/O=GlobalSign nv-sa/OU=Root CA/CN=GlobalSign Root CA
次のステップ
試すことができるものがあるかどうか、または全体の設定が間違っているかどうかをお知らせください。
AlphaSSL CA - SHA256 - G2
ます。ただし、チェーンは中間を供給しますAlphaSSL CA - G2
。私はあなたが現在の中間証明書を(削除する必要があると考えているAlphaSSL CA - G2
)、および指紋を持つものと交換しますae:bf:32:c3:c8:32:c7:d7...
(AlphaSSL CA - SHA256 - G2
)。また、を送信する必要はありませんGlobalSign Root CA
。クライアントは、その信頼をルートする必要があります(または中間)。