加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

如何在Heroku上解决javax.net.ssl.SSLHandshakeException?

发布时间:2020-12-15 02:34:54 所属栏目:Java 来源:网络整理
导读:我在Heroku上遇到了SSLHandshakeException. 这个应用程序不是SSL应用程序.但是这个应用程序从应用程序内部调用了一个基于ssl的web api. 通常,使用keytool对JVM采用SSL证书可以解决这类问题. 但是我怎么在Heroku上这个呢? 记录在这里: 2012-06-12T11:08:08+
我在Heroku上遇到了SSLHandshakeException.

这个应用程序不是SSL应用程序.但是这个应用程序从应用程序内部调用了一个基于ssl的web api.
通常,使用keytool对JVM采用SSL证书可以解决这类问题.

但是我怎么在Heroku上这个呢?

记录在这里:

2012-06-12T11:08:08+00:00 app[web.1]: Caused by: sun.security.validator.ValidatorException:  PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException:  unable to find valid certification path to requested target
    2012-06-12T11:08:08+00:00 app[web.1]:   at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:324) ~[na:1.6.0_20]
    2012-06-12T11:08:08+00:00 app[web.1]:   at sun.security.validator.Validator.validate(Validator.java:235) ~[na:1.6.0_20]
    2012-06-12T11:08:08+00:00 app[web.1]:   at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:147) ~[na:1.6.0_20]
    2012-06-12T11:08:08+00:00 app[web.1]:   at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:230) ~[na:1.6.0_20]
    2012-06-12T11:08:08+00:00 app[web.1]: Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
    2012-06-12T11:08:08+00:00 app[web.1]:   at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:270) ~[na:1.6.0_20]
    2012-06-12T11:08:08+00:00 app[web.1]:   at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:197) ~[na:1.6.0_20]
    2012-06-12T11:08:08+00:00 app[web.1]:   at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:255) ~[na:1.6.0_20]
    2012-06-12T11:08:08+00:00 app[web.1]:   at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:319) ~[na:1.6.0_20]
    2012-06-12T11:08:08+00:00 app[web.1]:   at sun.security.validator.Validator.validate(Validator.java:235) ~[na:1.6.0_20]
    2012-06-12T11:08:08+00:00 app[web.1]:   at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:147) ~[na:1.6.0_20]
    2012-06-12T11:08:08+00:00 app[web.1]:   at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:224) ~[na:1.6.0_20]

解决方法

当您与服务器建立SSL连接时,您应该在客户端信任库中拥有服务器的证书.

您应该将服务器证书导入密钥库,并使用javax.net.ssl.trustStore和javax.net.ssl.trustStorePassword指定密钥库.

检查是否已指定这些属性.如果已经指定,请检查它们是否正确指向密钥库.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读