我有一个 webstart 应用程序,我想在连接到服务器时进行客户端身份验证。我创建了使用 certmgr.exe 安装的 pkcs12 证书,它工作正常。我想为每个使用该应用程序的客户做这件事。我该怎么做?如果我分发证书
我收到一个 bad_certificate 错误。我知道证书没有问题,因为如果您使用浏览器安装证书,它将起作用。
我使用创建了公钥
keytool -export -alias myKey -keystore abc.p12" -storetype PKCS12 -storepass mypassword -rfc -file abc.cer
然后我将此文件导入到我的服务器的密钥库中以使用以下方式进行相互身份验证:
keytool -import -v -file abc.cer -keystore C:\apache-tomcat-7.0.26\tomcat.keystore" -storepass mypassword
在此之后,如果我在 certmgr 中安装 abc.p12 证书,它工作正常。
为了能够从 Java 中完成,我需要一个信任库。我创建了一个信任库,在其中导入公钥
>keytool -import -keystore client-truststore.jks -file abc.cer
如果我尝试使用访问服务器
-Djavax.net.ssl.keyStore=abc.p12
-Djavax.net.ssl.keyStorePassword=mypassword
-Djavax.net.ssl.trustStore=trustore.jks
-Djavax.net.ssl.trustStorePassword=mypassword
我不确定我是否做对了。请让我知道你的想法。
我应该做什么?请让我知道你的建议。