- 締切済み
apacheのSSLクライアント認証がうまくいきません
apacheのSSLクライアント認証がうまくいきません apache1.3.41とmod_sslを利用してクライアント認証を実装しようとしているのですが クライアント認証を有効にするとhttps接続時に証明書提示した後に「ページを表示できません」となってしまいます。 手順は以下のサイトを参考に設定したものです http://www.aconus.com/~oyaji/www/apache_linux_ssl.htm 証明書の発行もインストールも特に問題なくできましたが、接続時にクライアント証明書を提示しても「ページを表示できません」と出てしまいます。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 以上です 宜しくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- type0(@type0)
- ベストアンサー率56% (344/612)
SSLVerifyClient require を SSLVerifyClient optional に修正し、Apache再起動後、試してみてください。 SSLVerifyClientはクライアント認証のレベルです。 SSLVerifyClientがrequireでSSL通信したい場合、Apacheで設定するクライアント認証用の 証明書とブラウザにインポートされているクライアント証明書が紐付いている必要があります。 例えば サーバーで設定しているクライアント証明書及びブラウザにインポートしているクライアント証明書はべりサインが発行・署名している等。 詳しく説明したかったのですが、昔に勉強したことなのでうろ覚えです。 すいません。
お礼
情報の提供ありがとうございます。 さっそく検証してみたところ現象は変わりませんでした。 が、一つわかったことがあります。 SSLVerifyClientをnoneにしても同じ現象が起きています。 サーバ側に原因があるとは思うのですが。。。 証明書以外の部分に問題がありそうな気もします。