SSL 対応ではまる - SSLCACertificateFile の場合(Apache version 2.2.3)

 ざっくり、Apache/mod_sslSSL 設定するのは下記で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つ綴りになっている公開鍵に差し替えたら、うまいこと動いてくれた