最近、Apacheを2.2から2.4にアップグレードしましたが、SSLCertificateChainFile
ディレクティブを廃止する方法がわかりません。
エラー:
me@jessie:~$ Sudo Apache2ctl configtest
AH02559: The SSLCertificateChainFile directive (/etc/Apache2/sites-enabled/https.conf:103) is deprecated, SSLCertificateFile should be used instead
Syntax OK
私の現在の設定:
SSLCertificateFile /etc/Apache2/cert/ssl.crt
SSLCertificateKeyFile /etc/Apache2/cert/ssl.key
SSLCertificateChainFile /etc/Apache2/cert/sub.class1.server.sha2.ca.pem
SSLCACertificateFile /etc/Apache2/cert/ca.pem
証明書はStartCOMによって署名されています。マニュアルによれば、チェーン全体はSSLCertificateFile
ディレクティブで指定された1つのファイルにあるはずですが、このファイルに連結する必要のあるキーと順序はわかりません。
これをApacheの設定で使用しているとすると、
SSLCertificateFile /etc/Apache2/cert/ssl.crt
SSLCertificateKeyFile /etc/Apache2/cert/ssl.key
/etc/Apache2/cert/ssl.crt
ファイルには
すべての中間CAの証明書をcrtファイルに入れる必要があります。証明書の証明書チェーンに応じて、呼び出されるCAの数は異なります。
ルートCAはクライアントのトラストストアにある必要があるため、ルートCAを追加する必要さえありません。そうしないと、クライアントにエラーページが表示されます。また、チェーンに追加すると、追加のオーバーヘッドになります。新しいSSLセッションごとに転送する必要があるため、SSL接続を確立します。実際、ほとんどのクライアントには中間CA証明書もインストールされていますが、インストールされていないクライアントもあります。携帯電話には多くの中間CA証明書がないため、間違いなく追加します。
/etc/Apache2/cert/ssl.key
ファイルは同じままです。つまり、yourdomain.comの証明書のキーが含まれます
さて、ついに最近それを理解し、詳細を回答フォームに投稿することにしました。
StartSSLは、証明書を取得するときにZipアーカイブに証明書を配置し、そこに含まれるアーカイブがたくさんあるため、特に興味深いのはApacheServer.Zip
、Apache> 2.4互換フォーム。 Apacheフォルダー内のファイルは次のとおりです。
1_root_bundle.crt
2_myhost.tld.crt
これらの証明書の両方からSSLCertificateFile
を抽出する必要がありますが、この順序で:
cat 2_myhost.tld.crt 1_root_bundle.crt > myhost.tld_combined.crt
したがって、サイトの設定では次のようになります。
SSLCertificateFile /etc/Apache2/cert/myhost.tld_combined.crt
SSLCertificateKeyFile /etc/Apache2/cert/myhost.tld.key
Qualys SSL Test を含め、すべてが良好です。
これは、StartCom StartSSLとWoSign証明書で機能します。フォーマットは同じです。