Tomcat配置HTTPS安全认证( 二 )


文章插图
 
//测试
通过命令查看服务器的证书库 , 可以看到两个证书 , 一个是服务器证书 , 一个是受信任的客户端证书:
keytool -list -keystore E:tomcat.keystore (tomcat为你设置服务器端的证书名; 命令中要输入密码 , 为第一步生成的服务器证书密码:123456)

Tomcat配置HTTPS安全认证

文章插图
 
4.让客户端信任服务器证书
A: 先把服务器证书导出为一个单独的CER文件
使用如下命令:keytool -keystore E:tomcat.keystore -export -alias tomcat -file E:tomcat.cer (tomcat为你设置服务器端的证书名;为第一步生成的服务器证书密码:123456) 。
Tomcat配置HTTPS安全认证

文章插图
 
B: 通过以上命令 , 服务器证书就被我们导出到“E:tomcat.cer”文件了 。双击tomcat.cer文件 , 按照提示安装证书 , 将证书填入到“受信任的根证书颁发机构” 。
Tomcat配置HTTPS安全认证

文章插图
 

Tomcat配置HTTPS安全认证

文章插图
 

Tomcat配置HTTPS安全认证

文章插图
 
最后跳出提示 , 选择是 , 完成
导入成功、完成第四步客户端信任服务器证书
Tomcat配置HTTPS安全认证

文章插图
 
5.配置Tomcat服务器
打开Tomcat根目录下的/conf/server.xml , 找到Connector port="8443"配置段 , 修改为如下:
Server.xml源码如下:
<Connector port="8443" protocol="org.Apache.coyote.http11.Http11NioProtocol"SSLEnabled="true" maxThreads="150" scheme="https"secure="true" clientAuth="true" sslProtocol="TLS"keystoreFile="E:/tomcat.keystore" keystorePass="123456"truststoreFile="E:/tomcat.keystore" truststorePass="123456" />(E:/tomcat要与生成的服务端证书名一致)
属性说明:
clientAuth:设置是否双向验证 , 默认为false , 设置为true代表双向验证
keystoreFile:服务器证书文件路径
keystorePass:服务器证书密码
truststoreFile:用来验证客户端证书的根证书 , 此例中就是服务器证书
truststorePass:根证书密码
6.测试
在浏览器中输入https://localhost:8443/ , 会弹出选择客户端证书界面 , 点击“确定” , 会进入tomcat主页 , 地址栏后会有“锁”图标 , 表示本次会话已经通过HTTPS双向验证 , 接下来的会话过程中所传输的信息都已经过SSL信息加密 。
Tomcat配置HTTPS安全认证

文章插图
 
完成HTTPS双向认证 。
Tomcat配置HTTPS安全认证

文章插图
 




推荐阅读