利用Keytool产生证书实现Tomcat的SSL双向握手

本文详细介绍如何在Tomcat服务器上配置SSL单向与双向握手认证。从生成服务器证书开始,逐步介绍如何修改Tomcat配置文件实现HTTPS服务,并进一步讲解如何进行双向认证配置。
  • 首先配置单向握手

利用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:是产生服务器证书时的口令

测试:访问https://localhost:8443

单向握手配置完毕

 

  • 配置双向握手

在单向握手基础上,继续配置

 

第一步:产生个人证书

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证书导入到浏览器,然后测试,双向握手配置完毕

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值