双向认证 (SSL)我已有下面的凭证,如何使用Java建立SSL 连接 (不知道具体用哪个凭证),帮助提供Java codeca.cert, ca.key, server.crt,server.key,client.key,client.crt,client.pfxopenssl pkcs12 -export -in ssl/client.crt -inkey ssl/client.key  -out ssl/client.pfx

解决方案 »

  1.   

    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 -rfc2 .添加客户端证书到服务器中(将已签名数字证书导入密钥库)
    keytool -import -v -alias  2000  -file d:\ 2000 .cer -keystore  E:\apache-tomcat-7.0.29\conf\ca\tomcat.truststore -storepass dodopipe!!