【问题标题】:WSO2 API Manager "unable to find valid certification path to requested target {org .wso2.carbon.apimgt.hostobjects.APIProviderHostObject}"WSO2 API 管理器“无法找到请求目标 {org .wso2.carbon.apimgt.hostobjects.APIProviderHostObject} 的有效认证路径”
【发布时间】: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


【解决方案1】:

Wso2/Carbon 使用 Java 8 .. 请记住,显然 SSL 客户端无法很好地解析 SNI 存在一个问题。因此,如果您在 1 个 IP 地址上使用多个证书,这可能是问题所在:

http://javabreaks.blogspot.com/2015/12/java-ssl-handshake-with-server-name.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-04
    • 2015-02-13
    • 2019-10-15
    • 2021-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多