将JAVA添加到密钥库后,JAVA要求信任SSL证书

时间:2013-06-17 09:23:06

标签: java tomcat servlets ssl keytool

我是JAVA和Tomcat的SSL证书新手。我所做的是:

1-使用

生成密钥库和证书
keytool -genkey -alias tomcat -keyalg RSA \
-keystore keystore.jks

2-之后,我使用浏览器访问了servlet URL并将证书导出到

path_to_JRE/lib/security/server.cer

3-发生的事情是内部eclipse浏览器曾经要求我安装证书,因为它不受JVM信任,因此我使用以下命令将导出的证书添加到JVM密钥库:

Keytool -import -alias root -file "path_to_JRE/lib/security/server.cer" -keystore keystore.jks

我被问到密钥库密码,之后我被要求确认信任证书,我说是。

之后,我尝试使用我的内部eclipse浏览器打开URL,但它仍然要求我安装证书,因为它不受信任。 即使使用代码,我仍然会遇到以下例外情况:

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

我知道我可能做错了,因为我没有得到完整的想法。 提前致谢

1 个答案:

答案 0 :(得分:0)

好的,我找到了答案,

我不知道为什么要将导出的证书添加到JVM密钥库以外的其他密钥库。所以import命令应该是:

Keytool -import -alias root -file "JRE_HOME/lib/security/server.cer" -keystore JRE_HOME/lib/security/cacerts"