我遵循以下教程来实现两种方式的SSL身份验证:
http://virgo47.wordpress.com/2010/08/23/tomcat-web-application-with-ssl-client-certificates/
服务器上的结构:
cacerts.jks具有my_ca作为可信证书条目
keystore.jks具有Sercer作为“密钥对”条目
浏览器:
我的CA生成了Client.cer吗?
如果我访问应用程序URL,浏览器现在会弹出我的“客户端”证书以供使用,并且我单击cert并单击“确定”,将显示该网页。
现在我有一个实际的ProductionCertificate MyProdCer
链为:MyProdCer-> IssuerCA-> IntermediateCA-> RootCA
我已经更新了服务器上的cacerts.jks,使其包含IssuerCA,IntermediateCA和RootCA证书以及原始的my_ca
现在,浏览器弹出两个选项:1.“客户端”证书和2.“ MyProdCer”
如果我选择1. Client cer,那么它照常工作,没问题
但是,如果我选择2。“ MyProdCer”将显示浏览器
Certificate-based authentication failed - Error 117 (net::ERR_BAD_SSL_CLIENT_AUTH_CERT): Bad SSL client authentication certificate.
我想念的是什么,请指教。
谢谢。
最佳答案
您需要具有所有信任关系的JKS。使用portecle,您可以编辑JKS文件。在您的教程中,可以使用Java查找此“ truststoreFile”,
-Djavax.net.ssl.trustStore=adminca.jks -Djavax.net.ssl.trustStorePassword=iofesac123