


三、让服务器信任客户端证书
1、将客户端证书导出为CER文件
由于是双向SSL认证,服务器必须要信任客户端证书,因此,必须把客户端证书添加为服务器的信任认证。因不能直接将PKCS12格式的证书库导入服务器证书库,将客户端证书导出为一个单独的CER文件
keytool -export -alias mykey -keystore D:client.key.p12 -storetype PKCS12 -storepass password -rfc -file D:client.key.cer
注:password为客户端证书的密码
C:Windowssystem32>keytool -export -alias mykey -keystore D:client.key.p12 -storetype PKCS12 -storepass 888888 -rfc -file D:client.key.cer 保存在文件中的认证 <D:client.key.cer> C:Windowssystem32>
2、将CER文件导入到服务器的证书库
添加为一个信任证书使用命令如下:
C:Windowssystem32>keytool -import -v -file D:client.key.cer -keystore D:tomcat.keystore
输入keystore密码:
所有者:CN=StoneXing, OU=iFLYTEK, O=iFLYTEK, L=合肥, ST=安徽省, C=CN
签发人:CN=StoneXing, OU=iFLYTEK, O=iFLYTEK, L=合肥, ST=安徽省, C=CN
序列号:52e07723
有效期: Thu Jan 23 09:57:55 CST 2014 至Wed Apr 23 09:57:55 CST 2014
证书指纹:
MD5:15:29:58:68:8D:63:E1:00:8E:E6:EC:5E:AD:23:79:38
SHA1:B7:EF:B9:67:BD:56:95:82:3D:D8:14:0D:20:69:F0:C8:60:98:31:9A
签名算法名称:SHA1withRSA
版本: 3
信任这个认证? [否]: y
认证已添加至keystore中
[正在存储 D:tomcat.keystore]
C:Windowssystem32>
3、检查安装结果
通过list命令查看服务器的证书库,可以看到两个证书,一个是服务器证书,一个是受信任的客户端证书:
keytool -list -keystore D:tomcat.keystore (tomcat为你设置服务器端的证书名)。
C:Windowssystem32>keytool -list -keystore D:tomcat.keystore 输入keystore密码: Keystore 类型: JKS Keystore 提供者: SUN 您的 keystore 包含 2 输入 tomcat, 2014-1-23, PrivateKeyEntry, 认证指纹 (MD5): 4B:71:06:02:7C:35:F8:BF:B1:24:E2:68:8F:65:75:15 mykey, 2014-1-23, trustedCertEntry, 认证指纹 (MD5): 15:29:58:68:8D:63:E1:00:8E:E6:EC:5E:AD:23:79:38 C:Windowssystem32>
四、让客户端信任服务器证书
1、把服务器证书导出为CER文件
由于是双向SSL认证,客户端也要验证服务器证书,因此,必须把服务器证书添加到浏览的“受信任的根证书颁发机构”。由于不能直接将keystore格式的证书库导入,必须先把服务器证书导出为一个单独的CER文件,使用如下命令:









