以前、opensslが0.9.8lになったくらいからパス限定のクライアント認証ができなくなっていた。
当時は、sslのセキュリティー対策でできなくなっていたのだと思っていたのだけれど、最近別の原因(?)を見つけた。
試してみた感じだと、VirtualHost直下でも駄目で、DocumentRootを指定したDirectory直下でも駄目で、あくまで Location / である必要があるみたいだった。
これで、無事に特定のパスだけクライアント証明書を要求するようになった。
しっかし、2006年にこの記事が書かれているんだけど、なんでうちは2009年まで動いていたのかなあ・・・。
ちなみに、iPhone構成ユーティリティでiPhoneにクライアント証明書を入れてやって、Safariからアクセスしてもちゃんとアクセスできた。
当時は、sslのセキュリティー対策でできなくなっていたのだと思っていたのだけれど、最近別の原因(?)を見つけた。
とあり、そこに解決方法も書いてあった。特定のLocationに SSLVerifyClient requireと書きたい場合は、試してみた。どうも、Apacheの2.2.XでFixされていると書いてあるが、ちょっとびみょー。 というのは、素で普通にクライアント認証が必要なところにだけ SSLVerifyClient require と書いただけではダメだからだ。
<Location /> SSLVerifyClient none </Location>と言う記述をダミーで追加しておく必要があるらしい。
試してみた感じだと、VirtualHost直下でも駄目で、DocumentRootを指定したDirectory直下でも駄目で、あくまで Location / である必要があるみたいだった。
これで、無事に特定のパスだけクライアント証明書を要求するようになった。
しっかし、2006年にこの記事が書かれているんだけど、なんでうちは2009年まで動いていたのかなあ・・・。
ちなみに、iPhone構成ユーティリティでiPhoneにクライアント証明書を入れてやって、Safariからアクセスしてもちゃんとアクセスできた。
カテゴリ
Networkトラックバック(0)
このブログ記事を参照しているブログ一覧: クライアント認証ができるようになった
このブログ記事に対するトラックバックURL: https://www.wizard-limit.net/cgi-bin/mt/mt-tb.cgi/2390
コメントする