« JTracの日本語対応 | Main | JTracの検索機能 »

2007.06.19

Apache+TomcatでSSLクライアント証明書

ApacheTomcatを連携
・SSLクライアント証明書を要求するようにApacheを設定

という条件で、使用しているSSLクライアント証明書の情報をTomcat側で取得するテスト。
 ファイヤープロジェクト Webアプリケーションでのクライアント証明書情報の取得にて、いい感じでまとめられていますので、それを元に環境を構築。

・SSLOptionsの設定は+ExportCertDataが重要(FakeBasicAuth等は無くてもOK)。
・JkExtractSSL等の設定は、省略可能(mod_jkの設定資料

 既にSSLクライアント証明書を要求するように設定している場合、追加する設定内容としてはとりあえずはSSLOption +ExportCertDataだけでOK(参考資料:Apache2.2におけるSSLOptionの設定)。

 なお、Tomcat側では、

java.security.cert.X509Certificate[] certs =
(java.security.cert.X509Certificate[])request.getAttribute("javax.servlet.request.X509Certificate");

って感じで、HttpServletRequestからgetAttributeで証明書の情報を配列で取得することができます。

 用途としては、例えば通常のID/PWによる認証に加えて、SSLクライアント証明書の内容をチェックするというダブルチェックなどが考えられます。一応SSLクライアント証明書を発行する際に、相手の確認を行っているはずではありますが、念のため(毎回パスワードを確認しない状態でSSLクライアント証明書をインポートしている場合、離席中になりすましの危険性が生じます。まぁ、ID/PWを付箋等で貼り付けてしまっているとどうしようも無くなりますが(笑))。

|

« JTracの日本語対応 | Main | JTracの検索機能 »

Java」カテゴリの記事

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/3959/15477377

Listed below are links to weblogs that reference Apache+TomcatでSSLクライアント証明書:

« JTracの日本語対応 | Main | JTracの検索機能 »