SSL 対応ではまる - SSLCACertificateFile の場合(Apache version 2.2.3)
ざっくり、Apache/mod_ssl でSSL 設定するのは下記でOKなはず
<VirtualHost _default_:443> DocumentRoot どきゅめんとるーと ServerName どめいん SSLCACertificateFile 認証局の公開鍵 SSLCertificateFile 認証局からもらったサーバ証明書 SSLCertificateKeyFile サーバ証明書のために作った秘密鍵 </VirtualHost>
んが、
[error] Unable to configure verify locations for client authentication
とか出て Apache の起動に失敗。location 確認で失敗?
上記エラーでググってみても英語ばかりで、ヒーヒーいいながら調べていたら、どうやら認証局の公開鍵がおかしいんじゃないかと気付き始める
試しに SSLCACertificateFile をコメントアウトしたら正しく起動。ただしこの状態でHTTPS すると「認証局が不明です」と当たり前のように言われる
認証局の公開鍵はSSL 取得したときに届いたファイル。「INTERMEDIATE CA」とか書いてあったから中間認証局ってこと
ん?中間認証局? ルートが要るのか?
ってことでガサゴソとFAQ(英語) を探っていたらルート付きの公開鍵を発見
-----BEGIN CERTIFICATE----- [encoded data] -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- [encoded data] -----END CERTIFICATE-----
と、2つ綴りになっている公開鍵に差し替えたら、うまいこと動いてくれた