您的位置:首页 > 运维架构 > Tomcat

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

2013-08-16 17:43 555 查看
第一步:为服务器生成证书
使用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”,应改为对应的域名,如www.baidu.com 或者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浏览器是相同的在这里就不多说了.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: