在Tomcat6中实现https双向安全验证

https双向安全验证保证了客户端和服务端都是可信的

 

具体步骤如下:

 

1.生成服务器端证书


   C:\> keytool -genkey -keyalg RSA -dname "cn=localhost,ou=java,o=software,l=hangzhou,st=zhejiang,c=cn" -alias server -keypass password -keystore server.jks -storepass password -validity 3650 

 
2.生成客户端证书

 

  C:\>keytool -genkey -keyalg RSA -dname "cn=localhost,ou=java,o=software,l=hangzh
ou,st=zhejiang,c=cn" -alias client -storetype PKCS12 -keypass password -keystore
 client.p12 -storepass password -validity 3650



3.由于是双向SSL认证,服务器必须要信任客户端证书,因此,必须把客户端证书添加为服务器的信任认证。由于不能直接将PKCS12格式的证书库导入,我们必须先把客户端证书导出为一个单独的CER文件,使用如下命令,先把客户端证书导出为一个单独的cer文件:


  C:\>keytool -export -alias client -file client.cer -keystore client.p12 -storepa
ss password -storetype PKCS12 -rfc

 

 

  然后,添加客户端证书到服务器中(将已签名数字证书导入密钥库)
C:\>keytool -import -v -alias client -file client.cer -keystore server.jks -stor
epass password

 

 

4.修改server.xml文件,加入

 

    <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="true" sslProtocol="TLS" keystoreFile="C:/server.jks" keystorePass="password" truststoreFile="C:/server.jks" truststorePass="password"/>

 

 

5.导入客户端证书到浏览器
  双向认证需要强制验证客户端证书。双击“client.p12”即可将证书导入至
IE

 

6.通过https://localhost:8443访问应用 

 


 

你可能感兴趣的:(tomcat6,https,双向认证)