私は、パソコンおやじ様の以下のページを参考にしてSSLを試しています
SSLによるSecureWWWサーバの構築(Windows編)
SSL用証明書の作成(Windows編)
おやじ様のページにある手順通り、クライアント証明書を作成し、
証明書の所持によってアクセスするところまでは成功しましたが
クライアント証明書の失効処理の部分で失敗してしまいました
上記のページにあるように
#openssl ca -gencrl -revoke ./demoCA/certs/xxx/newcert.pem -out ./demoCA/crl/crl.pem
のコマンドで「crl.pem」を作成し、C:\etc\demoCA\index.text の記述も
R 071113232735Z 061121224855Z 9DE0DF6FDF0A2128 と、先頭がRに変化しています。
こうしてできたcrl.pemを c:/apache/certs/ に移動させ
C:\apache\conf\ssl.conf で証明書失効リストの指定先を
SSLCARevocationFile c:/apache/certs/crl.pem に指定しました
この状況でapacheを再起動させ、用意していたページにアクセスしたところ
失効したはずの証明書で今までのようにページの中身を見ることができてしまいました
失効した証明書でアクセスができないようにするための解決法を教えていただけないでしょうか?
> 私は、パソコンおやじ様の以下のページを参考にしてSSLを試しています
> SSLによるSecureWWWサーバの構築(Windows編)
> SSL用証明書の作成(Windows編)
>
> おやじ様のページにある手順通り、クライアント証明書を作成し、
> 証明書の所持によってアクセスするところまでは成功しましたが
> クライアント証明書の失効処理の部分で失敗してしまいました
>
> 上記のページにあるように
> #openssl ca -gencrl -revoke ./demoCA/certs/xxx/newcert.pem -out ./demoCA/crl/crl.pem
>
> のコマンドで「crl.pem」を作成し、C:\etc\demoCA\index.text の記述も
> R 071113232735Z 061121224855Z 9DE0DF6FDF0A2128 と、先頭がRに変化しています。
>
> こうしてできたcrl.pemを c:/apache/certs/ に移動させ
> C:\apache\conf\ssl.conf で証明書失効リストの指定先を
> SSLCARevocationFile c:/apache/certs/crl.pem に指定しました
>
> この状況でapacheを再起動させ、用意していたページにアクセスしたところ
> 失効したはずの証明書で今までのようにページの中身を見ることができてしまいました
ブラウザで一回認証した窓でそのままやってませんか?
新規に窓を開けば、証明書が取り消されている旨のメッセージが出るはずです。
あとは、本当にクライアント認証しているかどうかです。アクセス時にクライアント側で証明書を選択するようなウィンドが開かなければ、単にSSLでアクセスしているだけで、それなら失効も何もないのですが・・。
> ブラウザで一回認証した窓でそのままやってませんか?
新たに開いたブラウザからアクセスさせています
> あとは、本当にクライアント認証しているかどうかです。アクセス時にクライアント側で証明書を選択するようなウィンドが開かなければ、単にSSLでアクセスしているだけで、それなら失効も何もないのですが・・。
「デジタル証明書の選択」というウィンドウが開くのでそこからどのクライアントで入るか選ぶことができています。
そのウィンドウで失効処理をしたクライアントを選んでいるので選び間違いのミスもないかと思います
・SSL暗号通信はできている
・クライアント用証明書選択のウィンドウが出ている
・試しに作ってみたクライアントで認証成功した
・今度はそのクライアントの失効処理を試した
・openssl ca -gencrl -revoke コマンドでnewcert.pemからcrl.pemを作成した
・失効処理をしたクライアントのindex.textの先頭はRになっている
・ssl.confには指定したディレクトリを正しく記述した
・apacheを再起動した
・キャッシュ、インターネット一時ファイル削除済み
・一度認証した窓とは別窓で開いた
試したことをまとめると上記のようになります
しかし、どうにも上手くいきません
他に何か考えられる原因・・・私には思いつかないので困りました
大枠の状況はわかりました。基本的には問題ないアプローチをされていると思いますし、状況からはcrl.pemに関する設定だけのように思います。恐らくディレクティブの解釈を誤っているのだと思います。
で、気になる表現が1箇所あります。インラインで・・・。
> > ブラウザで一回認証した窓でそのままやってませんか?
> 新たに開いたブラウザからアクセスさせています
>
> > あとは、本当にクライアント認証しているかどうかです。アクセス時にクライアント側で証明書を選択するようなウィンドが開かなければ、単にSSLでアクセスしているだけで、それなら失効も何もないのですが・・。
> 「デジタル証明書の選択」というウィンドウが開くのでそこからどのクライアントで入るか選ぶことができています。
> そのウィンドウで失効処理をしたクライアントを選んでいるので選び間違いのミスもないかと思います
>
>
> ・SSL暗号通信はできている
> ・クライアント用証明書選択のウィンドウが出ている
> ・試しに作ってみたクライアントで認証成功した
> ・今度はそのクライアントの失効処理を試した
> ・openssl ca -gencrl -revoke コマンドでnewcert.pemからcrl.pemを作成した
> ・失効処理をしたクライアントのindex.textの先頭はRになっている
> ・ssl.confには指定したディレクトリを正しく記述した
ここのディレクトリとは何を指していますか? crl.pemを置いたディレクトリなら、どういうディレクティブを使用されました?
crl.pem は、下記ディレクティブ(SSLCARevocationFile)でcrlファイルそのものを指定しないと駄目ですよ。
SSLCARevocationFile c:/Apache/certs/crl.pem
> ・apacheを再起動した
> ・キャッシュ、インターネット一時ファイル削除済み
> ・一度認証した窓とは別窓で開いた
>
> 試したことをまとめると上記のようになります
> しかし、どうにも上手くいきません
> 他に何か考えられる原因・・・私には思いつかないので困りました
> crl.pem は、下記ディレクティブ(SSLCARevocationFile)でcrlファイルそのものを指定
ssl.confは
#SSLCARevocationPath conf/ssl.crl
#SSLCARevocationFile conf/ssl.crl/ca-bundle.crl
追加↓
SSLCARevocationFile c:/apache/certs/crl.pem
とこのように変更してあります。
「crl.pem」も確かにコピーし、 C:\apache\certs\crl.pem に存在しています。
が、未だに失敗してしまいます。
ちなみに「crl.pem」をテキストエディタで開いた中身
-----BEGIN X509 CRL-----
MIIBVTCBvwIBATANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJKUDEOMAwGA1UE
CBMFQWljaGkxEzARBgNVBAoUClByaXZhdGVfQ0ExDjAMBgNVBAsTBUFkbWluMRMw
EQYDVQQDFApQcml2YXRlX0NBMSQwIgYJKoZIhvcNAQkBFhVhZG1pbkBzc2wtdGVz
dC5kZG8uanAXDTA2MTEyNDA2MjQyMVoXDTA2MTIyNDA2MjQyMVqgDjAMMAoGA1Ud
FAQDAgEBMA0GCSqGSIb3DQEBBQUAA4GBABzOmlMoRkJliMEuYdSl8zu+7v3bLu3e
zV2qv93MXRRY/LZuGBG6nA4xfu6eiwp55lX7hjpTYz1Vv2zgZhUZU29Erdmo18fR
+sMNX715SzzwxXZCVI2qbnfCrWkakgddho/9wQef6kKYqnjFRaisH5aUDOb/iSD6
jVMqz0OshobP
-----END X509 CRL-----
> > crl.pem は、下記ディレクティブ(SSLCARevocationFile)でcrlファイルそのものを指定
>
> ssl.confは
>
> #SSLCARevocationPath conf/ssl.crl
> #SSLCARevocationFile conf/ssl.crl/ca-bundle.crl
>
> 追加↓
> SSLCARevocationFile c:/apache/certs/crl.pem
>
> とこのように変更してあります。
> 「crl.pem」も確かにコピーし、 C:\apache\certs\crl.pem に存在しています。
> が、未だに失敗してしまいます。
おかしいですね。HPのとおりで間違いなくできます。
関係ないはずですが、おやじが改造したCA2.plを使ってみてはどうですか?
これも再確認しましたが、問題ないですから。
なお、下記は見ても判りません。わかっては困るものですし・・・
>
> ちなみに「crl.pem」をテキストエディタで開いた中身
> -----BEGIN X509 CRL-----
> MIIBVTCBvwIBATANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJKUDEOMAwGA1UE
> CBMFQWljaGkxEzARBgNVBAoUClByaXZhdGVfQ0ExDjAMBgNVBAsTBUFkbWluMRMw
> EQYDVQQDFApQcml2YXRlX0NBMSQwIgYJKoZIhvcNAQkBFhVhZG1pbkBzc2wtdGVz
> dC5kZG8uanAXDTA2MTEyNDA2MjQyMVoXDTA2MTIyNDA2MjQyMVqgDjAMMAoGA1Ud
> FAQDAgEBMA0GCSqGSIb3DQEBBQUAA4GBABzOmlMoRkJliMEuYdSl8zu+7v3bLu3e
> zV2qv93MXRRY/LZuGBG6nA4xfu6eiwp55lX7hjpTYz1Vv2zgZhUZU29Erdmo18fR
> +sMNX715SzzwxXZCVI2qbnfCrWkakgddho/9wQef6kKYqnjFRaisH5aUDOb/iSD6
> jVMqz0OshobP
> -----END X509 CRL-----