0

我是使用 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

我知道我可能做错了什么,因为我没有完全理解。提前致谢

4

1 回答 1

0

好的,我找到了答案,

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

Keytool -import -alias root -file "JRE_HOME/lib/security/server.cer" -keystore JRE_HOME/lib/security/cacerts"
于 2013-06-17T11:11:16.450 回答