欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-06-22 12:14:28
...

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访问应用