プロが教える店舗&オフィスのセキュリティ対策術

apacheのSSLクライアント認証がうまくいきません

apache1.3.41とmod_sslを利用してクライアント認証を実装しようとしているのですが
クライアント認証を有効にするとhttps接続時に証明書提示した後に「ページを表示できません」となってしまいます。

手順は以下のサイトを参考に設定したものです
http://www.aconus.com/~oyaji/www/apache_linux_ss …
証明書の発行もインストールも特に問題なくできましたが、接続時にクライアント証明書を提示しても「ページを表示できません」と出てしまいます。ssl_engine_logにもerror_logにもそれらしいエラーが見当たらないのでそれ以外のところに原因があるのでしょうか。
httpd.confの一部(デフォルトからSSLの部分を変更した部分だけ)を展開します。
どこか間違いがあればご指摘よろしくおねがいします。
また、この現象の原因が分かる方がいらっしゃればご教授願います。

<VirtualHost _default_:443>

DocumentRoot "/home/xxxxx/webIndex"
ServerName 192.168.11.2
ServerAdmin xxx@xxxxxxx.xxx
DirectoryIndex login.html
ErrorLog /usr/local/apache/logs/error_log
TransferLog /usr/local/apache/logs/access_log

SSLEngine on

SSLCertificateFile /usr/local/apache/conf/ssl.crt/servercert.pem
SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/serverkey.pem

SSLCACertificatePath /usr/local/apache/conf/ssl.crt
SSLCACertificateFile /usr/local/apache/conf/ssl.crt/cacert.pem

SSLVerifyClient require
SSLVerifyDepth 1
    ・
    ・
    ・

</VirtualHost>

ちなみにクライアント認証の部分をコメントアウトしてサーバ証明書だけ有効にすると正常に
ページにアクセスできますので、クライアント認証の設定の部分に問題があるのみたいなのですが
起動ができるので設定以外のところに問題があるようにも思えます。

#SSLCACertificatePath /usr/local/apache/conf/ssl.crt
#SSLCACertificateFile /usr/local/apache/conf/ssl.crt/cacert.pem
#SSLVerifyClient require
#SSLVerifyDepth 1

以上です
宜しくお願いします。

A 回答 (1件)

SSLVerifyClient require





SSLVerifyClient optional

に修正し、Apache再起動後、試してみてください。

SSLVerifyClientはクライアント認証のレベルです。

SSLVerifyClientがrequireでSSL通信したい場合、Apacheで設定するクライアント認証用の
証明書とブラウザにインポートされているクライアント証明書が紐付いている必要があります。

例えば

サーバーで設定しているクライアント証明書及びブラウザにインポートしているクライアント証明書はべりサインが発行・署名している等。

詳しく説明したかったのですが、昔に勉強したことなのでうろ覚えです。
すいません。

参考URL:http://software.fujitsu.com/jp/manual/manualfile …
    • good
    • 0
この回答へのお礼

情報の提供ありがとうございます。

さっそく検証してみたところ現象は変わりませんでした。
が、一つわかったことがあります。
SSLVerifyClientをnoneにしても同じ現象が起きています。
サーバ側に原因があるとは思うのですが。。。
証明書以外の部分に問題がありそうな気もします。

お礼日時:2010/07/13 10:34

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!