首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >sun.security.provider.certpath.SunCertPathBuilderException:无法找到被请求目标的有效证书路径

sun.security.provider.certpath.SunCertPathBuilderException:无法找到被请求目标的有效证书路径
EN

Stack Overflow用户
提问于 2017-01-04 09:28:18
回答 2查看 3.3K关注 0票数 0

我在Apache 7上有一个web应用程序,并且我的web应用程序上有不受信任的证书。我的web应用程序必须与另一个使用https的web应用程序通信。然而,我总是得到这样的例外:

未能连接: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX路径构建失败:javax.net.ssl.SSLHandshakeException无法找到指向请求目标的有效证书路径

我从另一个应用程序中从浏览器下载crt文件,并在我的tomcat服务器的jks keystore中导入。

下面是来自server.xml文件的配置:

代码语言:javascript
运行
复制
<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
           maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
           clientAuth="false" sslProtocol="TLSv1.2" keystoreFile="/opt/apache/apache-tomcat-7.0.55-test/conf/portalnew.jks"  keystorePass="changeit" keyAlias="portalnew"/>

当我打字时

代码语言:javascript
运行
复制
keytool -list -v -keystore portalnew.jks

我可以看到我添加的crt文件。

我还在cacerts.jks中添加了crt文件。

EN

回答 2

Stack Overflow用户

发布于 2017-01-04 12:08:38

您需要配置tomcat来信任此证书。这可以通过以下方式实现:

  1. 创建新的java密钥存储库(可以由:tomcat.truststore命名)
  2. 将所有必要的证书导入tomcat.truststore
  3. 在tomcat连接器- server.xml文件中添加其他属性 truststoreFile="conf/store/tomcat.truststore" truststorePass="TruststorePassword"
  4. 在CATALINA_OPTS变量中添加:

-Djavax.net.ssl.trustStore=/opt/tomcat/conf/store/tomcat.truststore -Djavax.net.ssl.trustStorePassword=TruststorePassword

将您的密码调整到上面的命令中

  1. 重启tomcat
票数 1
EN

Stack Overflow用户

发布于 2017-01-05 09:53:08

我通过在仙人掌中添加.crt文件来修复它,而不是在cacerts.jks中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41460313

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档