手当たり次第に書くんだ

飽きっぽいのは本能

Apache の中間証明書設定 – SSLCertificateChainFile から SSLCertificateFile へ

Apache で TLS を設定する時、中間証明書をどのディレクティブで指定するかは、Apache のバージョンによって考え方が変わります。古い設定では SSLCertificateChainFile を使っていましたが、現在はサーバー証明書ファイルに中間証明書を連結して SSLCertificateFile で指定する構成が基本です。

従来の書き方

従来は、サーバー証明書、秘密鍵、中間証明書を別々に指定していました。

SSLCertificateFile /etc/pki/mypki/www.example.com.crt
SSLCertificateKeyFile /etc/pki/mypki/www.example.com.key
SSLCertificateChainFile /etc/pki/mypki/intermediate.example.crt

この構成では、中間証明書が必要な証明書と不要な証明書で設定の扱いが変わり、管理が少し面倒になります。

現在の考え方

現在は、サーバー証明書ファイルに中間証明書を連結し、SSLCertificateFile でまとめて指定します。秘密鍵は従来通り SSLCertificateKeyFile で指定します。

-----BEGIN CERTIFICATE-----
server certificate
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
intermediate certificate
-----END CERTIFICATE-----
SSLCertificateFile /etc/pki/mypki/www.example.com.fullchain.crt
SSLCertificateKeyFile /etc/pki/mypki/www.example.com.key

確認すること

設定後は、Apache が起動するかだけでなく、クライアントに正しい証明書チェーンが提示されているかを確認します。Chrome だけでエラーになるような場合は、中間証明書の不足やチェーン順序の問題が隠れていることがあります。

openssl s_client -connect www.example.com:443 -servername www.example.com -showcerts

まとめ

Apache の TLS 設定では、サーバー証明書と中間証明書をまとめた fullchain 形式の証明書ファイルを SSLCertificateFile に指定する構成が扱いやすくなります。重要なのは、設定ファイル上で指定できていることではなく、実際にクライアントへ正しい証明書チェーンを提示できていることです。

参考
書籍
参考書籍

暗号技術入門 第3版 秘密の国のアリス

公開鍵暗号、電子署名、証明書など、TLS や内部 PKI の前提になる暗号技術を確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。

Amazon で見る

このリンクは Amazon アソシエイトリンクです。

関連する記事

TLS・証明書の関連記事
Apache の中間証明書設定 – SSLCertificateChainFile から SSLCertificateFile へ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る