我是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
我知道我可能做错了,因为我没有得到完整的想法。 提前致谢
答案 0 :(得分:0)
好的,我找到了答案,
我不知道为什么要将导出的证书添加到JVM密钥库以外的其他密钥库。所以import命令应该是:
Keytool -import -alias root -file "JRE_HOME/lib/security/server.cer" -keystore JRE_HOME/lib/security/cacerts"