Tomcat構成SSLのクライアント認証



証明書はサーバ側に保存され、ユーザーがブラウザでアクセスする場合は、証明書のダウンロードをローカルに保存し、信頼できるサーバサイトを示す必要があります.
環境:tomcat-6.0.18、jdk1.6.0_18
       
1.キーストアの生成

keytool -genkeypair -v -keyalg RSA -alias lcl -keystore e:\lcl.keystore

  keystore  :
       :
          ?
  [Unknown]:  LCL
           ?
  [Unknown]:  CR
         ?
  [Unknown]:  COM
              ?
  [Unknown]:  BJ
             ?
  [Unknown]:  BJ
              
  [Unknown]:  CN
CN=LCL, OU=CR, O=COM, L=BJ, ST=BJ, C=CN    ?
  [ ]:  Y

          1,024   RSA           (SHA1withRSA)(     90  ):
		 CN=LCL, OU=CR, O=COM, L=BJ, ST=BJ, C=CN
  <lcl>    
		(    keystore     ,   ):
[     e:\lcl.keystore]

       
2.証明書ファイルの作成(ここでは自己認証-必要)

keytool -exportcert -alias lcl -file e:\lcl.cer -keystore e:\lcl.keystore

  keystore  :
          <lcl.cer>

ここでKeyToolツールによって直接導出された証明書は、署名されたX.509第3版タイプのルート証明書であり、Base 64符号化で保存されている.自己署名証明書は使用できますが、CA機関の認証を受けておらず、法的効力はほとんどありません.
       
2.CA発行証明書の構築(ここでは必要ありません2)
CA機関が認証したデジタル証明書を取得する場合は、デジタル証明書発行申請(CSR)をエクスポートし、CA機関を介して認証して発行するとともに、認証後の証明書をローカル鍵ライブラリと信頼ライブラリにインポートする必要があります.

keytool -certreq -alias lcl -file e:\lcl.csr -keystore e:\lcl.keystore

  keystore  :

CAに送信する署名を要求する証明書を生成し、CAが認証した後に現在の申請者に返却するようにします.ここでは自己認証です.
例えばCA認証後にユーザに返す証明書は、catrustである.cer
証明書の情報はkeytoool-printcertにコマンドして表示できます
コマンドで鍵ライブラリkeystoreにインポートします

keytool -importcert  -trustcacerts -alias lcl -file catrust.cer

       
3.証明書ファイルを自分のキーストアにインポートする

keytool -importcert -alias lcr -file e:\lcl.cer -keystore e:\lcl.keystore

  keystore  :
  <lcl>      ,       keystore  
         ? [ ]:  y
      keystore 

       
4.lcl.keystoreとlcr.cerはtomcatのルートディレクトリにコピーし、c:tomcat(これはtomcatインストールディレクトリ)にコピーします.
       
5.TOMCATの構成
変更%TOMCAT_HOME%\conf\server.xml
a.)8080構成を注記する
b.)構成8443

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
		   maxThreads="150" scheme="https" secure="true"
		   keystoreFile="lcl.keystore" keystorePass="aaaaaaa"
		   clientAuth="false" sslProtocol="TLS" />
<!--
https      443,      443           
-->

        
6.テスト

https://localhost:8443/

<>