tomcat+ssl双向认证记录

1.进入%java_home%/bin目录下
2.为服务器生成证书
keytool -genkey -alias tomcat -keyalg  RSA  -keystore     D:\tomcat.keystore -validity 365

validity 365 表示有效期天数
3.为客户端生成证书
keytool -genkey -v -alias myKey -keyalg RSA -storetype PKCS12 -keystore d:\client.p12

4.让服务器信任客户端证书,导出客户端证书
keytool -export -alias myKey -keystore d:\client.p12 -storetype PKCS12 -storepass 123456 -rfc -file d:\my.cer

5.文件导入到服务器的证书库,添加为一个信任证书
keytool -import -v -file D:\my.cer -keystore D:\tomcat.keystore -storepass 123456

6.tomcat修改server.xml
<Connector protocol="org.apache.coyote.http11.Http11NioProtocol"     
           port="8443" minSpareThreads="5" maxSpareThreads="75"     
           enableLookups="true" disableUploadTimeout="true"       
           acceptCount="100"  maxThreads="200"     
           scheme="https" secure="true" SSLEnabled="true"     
           clientAuth="false" sslProtocol="TLS"     
           keystoreFile="D:/tomcat.keystore"       
           keystorePass="123456"/> 

clientAuth指定是否需要验证客户端证书,如果该设置为“false”,则为单向SSL验证,SSL配置可到此结束。如果clientAuth设置为“true”,表示强制双向SSL验证 ,必须验证客户端证书。如果clientAuth设置为“want”,则表示可以验证客户端证书,但如果客户端没有有效证书,也不强制验证。
true是 服务器不会颁发证书必须由客户端导入

猜你喜欢

转载自zhujs.iteye.com/blog/1169390