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/
<