我遇到了这个问题:我正在尝试正确安装我的SSL证书,以便通过https使用我的页面,我有以下情况:
我继续执行通常的操作:创建密钥库和私钥,创建并将.csr文件发送给我们的CA进行审批,并获得所有SSL证书。 :root.p7b,chain.p7b,website' s.p7b和chain.pem
但是当我导入上述证书时,我偶然发现了以下错误: " keytool错误:java.lang.Exception:回复中的公钥和密钥库不匹配"然后通过阅读我发现Java除了我的应用程序的密钥库之外还有自己的cacerts文件,所以我继续将我的根证书安装到java的密钥库中,然后我就能安装了其余的ssl证书在我的应用程序密钥库中,但是现在当我尝试访问我的应用程序的网页时,我的浏览器(Firefox,Iexplorer)抱怨我的应用程序网页证书不是合法的"这连接不受信任"消息,我已经尝试将我可以从我的CA发送的所有证书安装到JAVA的cacert文件中,并且还在我的应用程序的密钥库中安装了所有这些证书,也尝试了不同的编码格式,不同的顺序安装等无济于事!!
请帮忙。对于它看起来很少的任何建议都非常受欢迎。 和平 杰西
答案 0 :(得分:0)
您需要在浏览器的信任存储中安装相同的CA证书。
答案 1 :(得分:0)
我相信Raghu是正确的。具体来说,我认为您需要将链导入浏览器信任库(在本地工作站/计算机上)。你已经完成了从服务器端发出的所有声音。
链接很旧,但它给出了你需要做的事情的要点: https://wiki.wmtransfer.com/projects/webmoney/wiki/Installing_root_certificate_in_Internet_Explorer_7
答案 2 :(得分:0)
杰西:
根据描述,您似乎将Tomcat用作服务器。
请尝试按照以下步骤操作:
keytool -v -list -keystore sample.jks
如果您只看到一个条目,即私钥条目向下滚动并检查Issued To
和Issued By
。如果两者相同,则证书尚未导入密钥库。注意:复制别名(例如test)。
如果是这种情况,请执行以下命令(假设您已从CA收到p7b文件)
keytool -import -keystore sample.jks -alias test - file ca.p7b。
现在再次运行第一个命令并检查内容。您应该看到证书在别名下成功导入。