双向认证问题
双向认证 (SSL)我已有下面的凭证,如何使用Java建立SSL 连接 (不知道具体用哪个凭证),帮助提供Java code
ca.cert, ca.key, server.crt,server.key,client.key,client.crt,client.pfx
openssl pkcs12 -export -in ssl/client.crt -inkey ssl/client.key -out ssl/client.pfx --------------------编程问答-------------------- 我觉能得还是能力比较重要。。 --------------------编程问答-------------------- client.key 应该是一个库,可以把客户的client.crt导出来,添加到服务器的信任列表中
客户端安装证书我用的是.p12的
就实现了
我的方法是用keytool 服务器是tomcat
生成客户端证书
keytool -genkey -keyalg RSA -dname " cn=2000,ou= 2000 ,o=none,l=china,st=beijing,c=cn " -alias 2000 -storetype PKCS12 -keypass dodopipe -keystore d:\2000.p12 -storepass dodopipe -validity 3650
由于是双向SSL认证,服务器必须要信任客户端证书,因此,必须把客户端证书添加为服务器的信任认证。由于不能直接将PKCS12格式的证书库导入
1. 必须先把客户端证书导出为一个单独的CER文件,使用如下命令,先把客户端证书导出为一个单独的cer文件:
keytool -export -alias 2000 -file d:\2000.cer -keystore d:\2000.p12 -storepass dodopipe -storetype PKCS12 -rfc
2 .添加客户端证书到服务器中(将已签名数字证书导入密钥库)
keytool -import -v -alias 2000 -file d:\ 2000 .cer -keystore E:\apache-tomcat-7.0.29\conf\ca\tomcat.truststore -storepass dodopipe!!
补充:Java , Java EE