现在的位置: 首页 > 综合 > 正文

Tomcat配置双向的ssl方式(浏览器不出不信任的红叉叉情况)

2018年02月11日 ⁄ 综合 ⁄ 共 2186字 ⁄ 字号 评论关闭

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

使用keytool为Tomcat生成证书,假定目标机器的域名是localhost或者“192.168.2.130”,keystore文件存放在“D:/downloads/tomcat.keystore”,口令为“123456”,

使用如下命令生成:

D:\downloads>keytool -validity 365 -genkey -v -alias tomcatServer -keyalg RSA -k
eystore tomcat.keystore -dname "CN=192.168.2.130,OU=railyton,O=railyton,L=Wuhan,
ST=Hubei,c=cn" -storepass 123456 -keypass 123456

如果Tomcat所在服务器的域名不是“localhost”,应改为对应的域名,如[url]www.baidu.com[/url] 或者IP地址,
否则浏览器会弹出警告窗口,提示用户证书与所在域不匹配。

第二步:为客户端生成证书
下一步是为浏览器生成证书,以便让服务器来验证它。假设文件存放在D:/downloads/p12/client.p12,
为了能将证书顺利导入至IE和Firefox,证书格式应该是PKCS12,因此,使用如下命令生成:

D:\downloads>keytool -validity 365 -genkeypair -v -alias client -keyalg RSA -sto
retype PKCS12 -keystore  d:\downloads\client.p12 -dname "CN=client,OU=railyton,O
=railyton,L=Wuhan,ST=Hubei,c=cn" -storepass 123456 -keypass 123456

第三步:让服务器信任客户端证书
由于是双向SSL认证,服务器必须要信任客户端证书,因此,必须把客户端证书添加为服务器的信任认证。
由于不能直接将PKCS12格式的证书库导入,我们必须先把客户端证书导出为一个单独的CER文件,使用如下命令:

D:\downloads>keytool -export -v -alias client -keystore client.p12 -storetype PK
CS12 -storepass 123456 -rfc -file client.cer

通过以上命令,客户端证书就被我们导出到“D:/downloads/client.cer”r文件了。
下一步,是将该文件导入到服务器的证书库,添加为一个信任证书:

D:\downloads>keytool -import -v -alias client -file client.cer -keystore tomcat.
keystore -storepass 123456

第四步:让服务器信任服务端证书(同第三步)

D:\downloads>keytool -export -v -alias tomcatServer -keystore  tomcat.keystore -
storepass 123456 -rfc -file server.cer
保存在文件中的认证 <server.cer>

D:\downloads>keytool -import -v -alias tomcatServer -file server.cer -keystore c
lient.truststore -storepass 123456

通过list命令查看服务器的证书库,我们可以看到两个输入,一个是服务器证书,一个是受信任的客户端证书: 
D:\downloads>keytool -list -keystore  tomcat.keystore -storepass 123456

到这里证书已经搞定了下面在tomcat的server.xml文件中配置相关参数

<Connector port="8443"
           protocol="HTTP/1.1"   
           minSpareThreads="150" maxSpareThreads="75"   
           enableLookups="true" disableUploadTimeout="true"     
           acceptCount="100" maxThreads="200"   
           scheme="https" secure="true" SSLEnabled="true"   
           clientAuth="false" sslProtocol="TLS"   
           keystoreFile="D:/downloads/tomcat.keystore"     
           keystorePass="123456"
		   truststoreFile="D:/downloads/tomcat.keystore"
           truststorePass="123456"		   
		   />

到此为止准备工作都做完了,下面该看看怎么样了.

上面就是刚才生成的相关证书.

在浏览器上的安装如下:
1.双击client.p12文件安装到浏览器中,这时候打开浏览器的(本人用的是google浏览器)设置找到证书管理选项.看一看到我们刚才装载的client

在选择受信任的根证书颁发机构,点击导入,此处导入的文件是server.cer文件,导入成功后可以看到

好了,现在就可以测试你是否弄成功了.如果出现下面请求说明已经成功>

IE的结果.

如果你用的是IE安装步骤和google浏览器是相同的在这里就不多说了.

抱歉!评论已关闭.