[リストへもどる]
一括表示
タイトルSSLクライアント認証について
記事No8262
投稿日: 2011/01/18(Tue) 18:43
投稿者利用者
こんばんわ。サイトを参考にさせていただき、大変助かっております。
ありがとうございます。

今現在、Windows+Apache2.2にてOpenSSLのクライアント認証の設定を
行っているのですが、うまくいかず書き込みさせていただきました。

やったこととしましては、ApacheにデフォルトでついてくるOpenSSLを
使用し、server.key server.crt sercer.csr server.der client.p12
のファイルをconfフォルダ配下に作成しました。

その後、httpd.confファイルにて、LoadModule ssl_module modules/mod_ssl.soをコメントアウトし、Include conf/extra/httpd-ssl.confをコメントアウトしました。
また、httpd-ssl.confにて
SSLCACertificatePath "C:/Apache2.2/conf/"
SSLCACertificateFile "C:/Apache2.2/conf/server.crt"
を追記し、
SSLVerifyClient require
SSLVerifyDepth 1
を追記しました。

そこで、困っていることが、最後のSSLVerifyClientとSSLVerifyDepthを設定すると
httpsアクセスで弾かれてしまいます。

この設定をしないと、IEのツールバーに
証明書エラーと出ますが、アクセスできます。

ブラウザには、client.p12をインストールしております。

ご説明が不足しているところなどありましたが、
ご指摘いただければと思います。

よろしくお願い致します。

タイトルまずは証明書エラーを解決するほうが先です
記事No8263
投稿日: 2011/01/20(Thu) 21:11
投稿者おやじ
> やったこととしましては、ApacheにデフォルトでついてくるOpenSSLを
> 使用し、server.key server.crt sercer.csr server.der client.p12
> のファイルをconfフォルダ配下に作成しました。
>
> その後、httpd.confファイルにて、LoadModule ssl_module modules/mod_ssl.soをコメントアウトし、Include conf/extra/httpd-ssl.confをコメントアウトしました。

本題ではありませんが、「コメントアウト」とは、コメントとして処理から外す(Apacheの設定なら行頭に#をつける)意味なので、これは恐らく逆のことですよね。

> また、httpd-ssl.confにて
> SSLCACertificatePath "C:/Apache2.2/conf/"
> SSLCACertificateFile "C:/Apache2.2/conf/server.crt"
> を追記し、
> SSLVerifyClient require
> SSLVerifyDepth 1
> を追記しました。
>
> そこで、困っていることが、最後のSSLVerifyClientとSSLVerifyDepthを設定すると
> httpsアクセスで弾かれてしまいます。
>
> この設定をしないと、IEのツールバーに
> 証明書エラーと出ますが、アクセスできます。

これだけでは何とも言えませんが、クライアント認証しなくても(SSLVerifyClientとSSLVerifyDepth設定前)証明書エラーがでているなら、このエラーが無くならないとクライアント認証はできません。
まず、そちらを解決しなければだめです。

タイトルRe: まずは証明書エラーを解決するほうが先です
記事No8264
投稿日: 2011/01/21(Fri) 09:28
投稿者利用者
> > やったこととしましては、ApacheにデフォルトでついてくるOpenSSLを
> > 使用し、server.key server.crt sercer.csr server.der client.p12
> > のファイルをconfフォルダ配下に作成しました。
> >
> > その後、httpd.confファイルにて、LoadModule ssl_module modules/mod_ssl.soをコメントアウトし、Include conf/extra/httpd-ssl.confをコメントアウトしました。
>
> 本題ではありませんが、「コメントアウト」とは、コメントとして処理から外す(Apacheの設定なら行頭に#をつける)意味なので、これは恐らく逆のことですよね。

お恥ずかしいです。。。
ご指摘いただいたとおり、逆のことです。


>
> > また、httpd-ssl.confにて
> > SSLCACertificatePath "C:/Apache2.2/conf/"
> > SSLCACertificateFile "C:/Apache2.2/conf/server.crt"
> > を追記し、
> > SSLVerifyClient require
> > SSLVerifyDepth 1
> > を追記しました。
> >
> > そこで、困っていることが、最後のSSLVerifyClientとSSLVerifyDepthを設定すると
> > httpsアクセスで弾かれてしまいます。
> >
> > この設定をしないと、IEのツールバーに
> > 証明書エラーと出ますが、アクセスできます。
>
> これだけでは何とも言えませんが、クライアント認証しなくても(SSLVerifyClientとSSLVerifyDepth設定前)証明書エラーがでているなら、このエラーが無くならないとクライアント認証はできません。
> まず、そちらを解決しなければだめです。
>

私の書き方が度々、悪くすみません。
証明書エラーとは、証明書をきちんとした機関で作成していない時に
表示されるやつです。
このエラーを無くすとなるときちんとした機関証明書を
作成する必要が出てくると思うのですが、、、
私の認識違いでしょうか。。。


お忙しいところ、すみませんが、
よろしくお願いします。

タイトルナンチャッテ認証局を作れば大丈夫です
記事No8265
投稿日: 2011/01/21(Fri) 20:21
投稿者おやじ
> 私の書き方が度々、悪くすみません。
> 証明書エラーとは、証明書をきちんとした機関で作成していない時に
> 表示されるやつです。
> このエラーを無くすとなるときちんとした機関証明書を
> 作成する必要が出てくると思うのですが、、、
> 私の認識違いでしょうか。。。

何を参考に作業されているのかわかりませんが、下記にあるようにナンチャッテ認証局を作ってこれで署名した証明書を使い、クライアントにCA証明書を入れれば何も問題ありません。
おやじのサイトはこれで動かしています。

http://www.aconus.com/~oyaji/www/certs_win.htm

なお、標準のApache添付のものではおやじが書いているスクリプト(CA.pl)が無いので、上記のおまけにある改造版(下記URL)を使えばできます。

http://www.aconus.com/~oyaji/www/CA2_pl

タイトルRe: ナンチャッテ認証局を作れば大丈夫です
記事No8266
投稿日: 2011/01/25(Tue) 12:06
投稿者利用者
Apache標準のものには、スクリプトがなかったので、
OpenSSL.exeにて実行して作成してましたが、
お教えいただいたCA.plにて、一度試してみようと思います。

また、試した後に結果などをご報告させていただきます。
お忙しいところ、ありがとうございました。

タイトルRe^2: ナンチャッテ認証局を作れば大丈夫です
記事No8267
投稿日: 2011/01/29(Sat) 08:32
投稿者アザミ
SSL証明書は3年ぐらい前に使ったとき2万位しましたが
今は2,600円/年で買えます。携帯でも大丈夫です。
お試しください。
http://www.rapid-ssl.jp/

タイトルRe^3: ナンチャッテ認証局を作れば大丈夫です
記事No8268
投稿日: 2011/01/31(Mon) 09:41
投稿者利用者
> SSL証明書は3年ぐらい前に使ったとき2万位しましたが
> 今は2,600円/年で買えます。携帯でも大丈夫です。
> お試しください。
> http://www.rapid-ssl.jp/

ご情報ありがとうございます。
なんちゃって認証局の検証も月末の忙しさと重なって
まだ検証できていない状態です。すみません<m(__)m>
きっとまたご質問することもあると思いますので、
よろしくお願い致します。

タイトルRe^4: ナンチャッテ認証局を作れば大丈夫です
記事No8277
投稿日: 2011/03/30(Wed) 11:28
投稿者利用者
長らくテストが出来なかったのですが、本日ようやく
着手することが出来ました。

おやじさんのHPを参考にさせていただき、一からナンチャッテ認証局
などを構築して試してみたのですが、動きませんでした。。。(泣)

まず、こちらの内容にて認証局と鍵を生成して、
http://www.aconus.com/~oyaji/www/certs_win.htm

こちらにてApacheの設定をしました。
http://www.aconus.com/~oyaji/www/apache_win_ssl.htm

そして、Apacheを再起動した後にhttpとhttpsにてアクセスを
一度したところ、httpはいつもどおりアクセスできて、
httpsは、Internet Explorer ではこのページは表示できません
となってしまいました。

SSLCACertificatePathと
SSLCACertificateFileと
SSLVerifyClientと
SSLVerifyDepthの
設定をコメントアウトすると、
httpsとhttpアクセスできるようになりますが、
目的としてクライアント認証がしたいので、
これだと運用できないのです。

些細な事でもよろしいのですが、
ご教授いただければと思います。
よろしくお願い致します。。。

タイトル個人証明書がインポートされていますか?
記事No8278
投稿日: 2011/03/31(Thu) 20:08
投稿者おやじ
> まず、こちらの内容にて認証局と鍵を生成して、
> http://www.aconus.com/~oyaji/www/certs_win.htm
>
> こちらにてApacheの設定をしました。
> http://www.aconus.com/~oyaji/www/apache_win_ssl.htm
>
> そして、Apacheを再起動した後にhttpとhttpsにてアクセスを
> 一度したところ、httpはいつもどおりアクセスできて、
> httpsは、Internet Explorer ではこのページは表示できません
> となってしまいました。
>
> SSLCACertificatePathと
> SSLCACertificateFileと
> SSLVerifyClientと
> SSLVerifyDepthの
> 設定をコメントアウトすると、
> httpsとhttpアクセスできるようになりますが、

この状態でhttpsが何もしないでアクセスできているということは、サーバ証明書もCA証明書のインポートはできているということです。
従って、後は個人証明書ですが、まずはブラウザにちゃんとインストールされているかを確認しましたか?
IEなら「ツール」->「コンテンツ」->「証明書」->「個人」に証明書が有るか確認してください。
ないなら「インポート」して、個人証明書が設定されたことを確認してください。
もし存在するなら、証明書の内容を「表示」で確認してください。ちゃんとした発行先の個人証明書があるなら「Internet Explorer ではこのページは表示できません」にはならないはずなので、証明書の作成に失敗していると思われます。