如何在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. 但是我怎么在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指定密钥库. 检查是否已指定这些属性.如果已经指定,请检查它们是否正确指向密钥库. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |