`

在windows系统中生成数字证书-V3

 
阅读更多

引用说明:原文来自 http://zhouyongqiang.iteye.com/blog/1629590,为方便本人阅读,格式略有调整。

 

第一步:为服务器生成证书

keytool -genkey -v -alias tomcat -keyalg RSA -keystore tomcat.keystore

 

第二步:为客户端生成证书

keytool -genkey -v -alias MyKey -keyalg RSA -storetype PKCS12 -keystore client.p12

 

第三步:将第二步生成的client.p12文件导出为一个cer文件

keytool -export -alias Mykey -keystore client.p12 -storetype PKCS12 -storepass 123456 -rfc -file client.cer

 

第四步:将生成的客户端证书导入到服务器端证书中,让服务器信任客户端证书

keytool -import -v -file client.cer -keystore tomcat.keystore -storepass 123456

 

第五步:查看客户端和服务器端的证书有没有成功的导入(查看证书信息)

keytool -list -keystore tomcat.keystore -storepass 123456

 

第六步:配置tomcat的server.xml文件,找到像以下内容的信息,把默认的注释去掉,在后面增加以下内容

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"

        maxThreads="150" scheme="https" secure="true"

        sslProtocol="TLS" clientAuth="true"        --这里clientAuth="true"是双向验证,默认是false单向验证

keystoreFile="D:\temp\SSL\tomcat.keystore"  keystoreass="123456"        --这两行是增加的内容

truststoreFile="D:\temp\SSL\tomcat.keystore"  truststorePass="123456"

/>

 

第七步:将证书client.p12导入到浏览器中,双击证书进行导入操作,根据个人具体需要,我本人将证书放在了个人存储下面,也可以放到受信任的根证书颁发机构下面或是其它的存储下面都可以,然后重启tomcat,在浏览器中输入https://localhost:8443,因为client.p12证书放到了个人存储下面,所以会有一个警告消息,其它的我没有试过,然后跳过警告继续访问页面会出现tomcat的欢迎页面,就像访问http://localhost:8080一样的页面显示在你面前,那就说明SSL和数字证书配置成功!

 

总结:

其实一开始我的配置就成功了,只是因为浏览器的原因,有时候访问成功了但是因为有警告,IE浏览器马上就跳转到别的页面,我的是跳转到搜狗搜索的页面,时间很短,就好像没有访问成功一样,让人误以为https://localhost:8443访问失败,就这个问题花了我很长的时间,后来无意间点击浏览器的后退按钮,居然看到了警告信息,这个警告信息正是我要找的东西,就是这么一步吧,折腾了很长时间。另外,如果把生成的服务器端的证书tomcat.keystore文件也导出为一个tomcat.cer安全证书文件并把这个证书文件安装到浏览器的受信任的根证书颁发机构下面的话,那么在访问https://localhost:8443时就会直接看到一把小锁而不会有警告消息也不会选择证书了。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics