Apacheでの中間証明書の扱い
Apacheで中間証明書の扱いが変わったみたい。
2.4.7までは中間証明書はSSLCertificateChainFileというディレクティブで指定していました。
SSLCertificateChainFile /usr/local/apache2/conf/ssl/server.cer
ところが2.4.8からこのディレクティブが無くなってしまいました。
このディレクティブがあると起動できません。4月8日の記事を参照してください。
じゃあ、中間証明書ってどうやって指定するんですかってことですが、apacheのドキュメントにはこうあります。
SSLCertificateChainFile is deprecated SSLCertificateChainFile became obsolete with version 2.4.8, when SSLCertificateFile was extended to also load intermediate CA certificates from the server certificate file.
以下超適当訳
SSLCertificateFileディレクティブで指定したサーバ証明書から読めるようになったよ。
どういうこと? 具体例くらいかいとけよ。
Google先生に聞いたところこんな記事にヒット。
形式を変更しつつサーバ証明書と中間証明書をコンカチネイト。つなげたものをSSLCertificateFileへ指定するといいみたいです。
上記記事に掲載されていたシェルスクリプト(実際にはopensslで形式を変えている)でサーバ証明書、中間証明書の順番でファイルを連結。
# ./bundle.sh myserver.crt >myserver.chain # ./bundle.sh intermediate.crt >>myserver.chain
でできたファイルをSSLCertificateFileで指定。
SSLCertificateFile myserver.chain #SSLCertificateChainFile intermediate.crt