利用keytool产生服务器证书:
keytool -genkey -v -alias tomcat -keyalg RSA -keystore server.jks
产生的结果:
创建1,024比特RSA键值对及针对CN=localhost, OU=cqc, O=cqcca, L=beijing, ST=beijing , C=cn的自我签署的认证 (MD5WithRSA)
修改tomcat/conf/server.xml文件
注释掉默认的
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
添加
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="d:/tomcat6/conf/keystore/server.jks" keystorePass="123456" />
说明:keystoreFile:就是服务器证书,keystorePass:是产生服务器证书时的口令
单向握手配置完毕
在单向握手基础上,继续配置
第一步:产生个人证书
keytool:
keytool -genkey -v -alias test001 -keyalg RSA -storetype PKCS12 -keystore test001.p12
产生的结果:
创建1,024比特RSA键值对及针对CN=test001, OU=cqc, O=cqcca, L=beijing, ST=beijing, C=cn的自我签署的认证 (MD5WithRSA) : 输入<test001>的主密码 (如果和 keystore 密码相同,按回车): [正在存储 test001.p12]
第二步:导入个人证书
将个人证书导入到服务器证书中,由于不能直接将p12文件导入,所以需要将p12转换成cer
keytool:
keytool -export -alias test001 -keystore test001.p12 -storetype PKCS12 -storepass 123456 -rfc -file test001.cer
keytool:
keytool -import -alias test001 -v -file test001.cer -keystore server.jks
可以验证导入是否成功,查看服务器证书中的证书内容:
keytool:
keytool -list -keystore server.jks
第三步:修改tomcat/conf/server.xml
将clientAuth属性设置为true,添加truststoreFile="d:/tomcat6/conf/keystore/server.jks" truststorePass="123456"
完整代码:
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="true" sslProtocol="TLS" keystoreFile="d:/tomcat6/conf/keystore/server.jks" keystorePass="123456" truststoreFile="d:/tomcat6/conf/keystore/server.jks" truststorePass="123456" />
最后,将p12证书导入到浏览器,然后测试,双向握手配置完毕