次のページ 前のページ 目次へ

5. トラブルシューティング

発生しうる、ありがちな問題をいくつか書いておきます。

5.1 サーバは起動したように見えるが、セキュアサイトにアクセスできない

error_log ファイルをチェックしてください。ヴァーチャルホストが エラーログを書くように設定していないなら、考え直した方がいいかも知れません。 例示した SSL ヴァーチャルホストは、エラーログファイルに出力します。 多分、2, 3 の警告と、ログの最後にエラーがあり、基本的には秘密鍵が証明書と 一致しない、という内容でしょう。

例:

[Tue Nov 21 09:09:02 2000] [notice] Apache/1.3.14 (Unix) mod_ssl/2.7.1
OpenSSL/0.9.6 configured -- resuming normal operations
[Tue Nov 21 09:09:16 2000] [notice] caught SIGTERM, shutting down
[Tue Nov 21 14:39:54 2000] [notice] Apache/1.3.14 (Unix) mod_ssl/2.7.1
OpenSSL/0.9.6 configured -- resuming normal operations
[Tue Nov 21 14:40:31 2000] [notice] caught SIGTERM, shutting down
[Tue Nov 21 14:43:53 2000] [error] mod_ssl: Init: (esi.fin.equifax.com:443)
Unable to configure RSA server private key (OpenSSL library error follows)
[Tue Nov 21 14:43:53 2000] [error] OpenSSL: error:0B080074:x509 certificate
routines:X509_check_private_key:key values mismatch

上記のエラーメッセージを得たなら、問題は鍵と証明書が一致しないことです。 デフォルトの server.keyファイルを使っていないことを確認してください。 また、httpd.conf ファイルをチェックして、ディレクティブが正しい秘密鍵と証明書を指しているかの確認もするべきです。

確認のため、秘密鍵と証明書の書式が正確で、お互いに対をなしていることを調べることもできます。このためには、下のコマンドを使って秘密鍵をターミナルウィンドウに復号化し、別のウィンドウで証明書を復号化してください。 比較するのは、鍵それぞれのモジュールと実体です。鍵のモジュールと実体が証明書のそれと一致するならば、その証明書と鍵が正しく対になっているといえます。

全て失敗したなら、CSR か自署証明書の新しい秘密鍵を作成します。これを行う前に、CA の再発行ポリシーを確認してください。再発行に課金されることもあります。

証明書の内容を見る方法は −

openssl x509 -noout -text -in filename.crt

秘密鍵の内容を見る方法は −

openssl rsa -noout -text -in filename.key

5.2 クライアントのブラウザが Certificate Name Check Warning を出す

この一番の原因は、CSR を作成する時にドメイン名の始めに "www" をつけ忘れていることです。仮想ホストに対して "ServerName" ディレクティブで定義された名前は、証明書に示されたドメイン名と正確に一致しなければなりません。そうでないと、ブラウザはそれをクライアントに知らせようとします。例外はワイルドカード証明書です。ワイルドカード証明書のドメイン名フィールドは *.somedomain.com のようになっています。これによって、1 つの証明書で somedomain.com のサブドメインを複数扱えるようになります (例えば host1.somedomain.com と host2.somedomain.com など)。

5.3 クライアントのブラウザが、証明書が信頼されていない証明書発行機関によって署名されている、という警告を発する

自署証明書を使っていると、この警告が出ます。クライアントは、あなたの証明書を信用するかしないかを選択できるのです。もし CA に署名された証明書をもっているのに警告が出るのであれば、おそらくそれの中間証明書 (またはルート証明書) をインストールする必要があります。

5.4 SSLEngine on is an un-recognized command (Apache の起動時)

このエラーメッセージは、Apache と一緒に ModSSL をコンパイルしなかった場合に 発生します。ヴァーチャルホストで SSL を使うのに、別のディレクティブを使う SSL パッケージもあります。別のディレクティブを使うパッケージを使っている場合 このエラーメッセージをまた見ることになります。

5.5 "PEM パスフレーズ" を忘れてしまい、どうやってそれを再設定するか知りたい。

このパスフレーズを再設定する方法はありません。解決するには、パスフレーズを憶えて おくか、新しい秘密鍵を作成するしかありません。そうすると、新しい証明書を取得 するか、新しい自署証明書を作成する必要がでてくるでしょう。


次のページ 前のページ 目次へ

[