【发布时间】:2017-06-26 07:18:54
【问题描述】:
我们已经部署了一个 WSO2 API Manager 来公开系统的 API。当我们发布带有 https 目标端点的 API(例如:https://abc.d.e:)时,请求会失败并出现以下异常。
TID: [-1234] [] [2017-06-26 06:46:43,226] ERROR {org.wso2.carbon.apimgt.hostobje
cts.APIProviderHostObject} - Error occurred while connecting to backend : https
://list-micro.aws.na.sysco.net:9090, reason : sun.security.validator.ValidatorEx
ception: PKIX path building failed: sun.security.provider.certpath.SunCertPathBu
ilderException: unable to find valid certification path to requested target {org
.wso2.carbon.apimgt.hostobjects.APIProviderHostObject}
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException:
PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderExce
ption: unable to find valid certification path to requested target
at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1949)
at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:302)
at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:296)
at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.
java:1514)
at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.jav
a:216)
at sun.security.ssl.Handshaker.processLoop(Handshaker.java:1026)
at sun.security.ssl.Handshaker.process_record(Handshaker.java:961)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1062)
【问题讨论】:
-
您是否将目标端点的证书加载到您的 client-truststore.jks 中?如果不这样做并重新启动服务器。
-
我们是否必须加载目标端点的每个证书以信任存储 jks?在那种情况下,出版商不能这样做吗? API 发布将是一项繁琐的任务。
-
我使用的是 1.10,据我所知这是正确的。您必须为要访问的端点加载证书,否则会出现 SSL 错误。在发布者中没有办法做到这一点。如果我们在以后的版本中缺少某些东西或新功能,希望有人会回复我们,
-
这是异常的完整堆栈跟踪吗?如果不能,请您补充一下吗?
标签: validation ssl wso2 wso2-am