JAVA 在将其添加到 keystore 后要求信任 SSL 证书

标签 java tomcat servlets ssl keytool

我不熟悉 JAVA 和 Tomcat 的 SSL 证书。我所做的是:

1- 使用生成的 keystore 和证书

keytool -genkey -alias tomcat -keyalg RSA \
-keystore keystore.jks

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

path_to_JRE/lib/security/server.cer

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

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

我被要求提供 keystore 密码,之后我被要求确认信任证书,我说是。

在那之后,我尝试使用我的内部 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

我知道我可能做错了什么,因为我没有理解整个想法。 提前致谢

最佳答案

好的,我已经找到答案了,

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

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

关于JAVA 在将其添加到 keystore 后要求信任 SSL 证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17144223/

相关文章:

java - Java 中枚举类型初始化困惑

spring-boot - 根据 Spring Boot 中的登录用户更改应用程序的 URL

php - Orbeon 3.9 任何用户与表单的交互都会触发 java.lang.NullPointerException 错误

apache - 在事件链中调用 servlet

java - 使用嵌入式 tomcat 服务器时发出警告

java - 使用 GET 初始化 JSF 页面

java - 用户填充的 ListView 中的 TextView 值的总和

java - 知道传递给java中方法的参数数量

linux - Apache 背后的 Jira、Tomcat 和 JBoss

java - Hibernate getCurrentSession 与异步 servlet 的行为