WSO2 API管理器收到致命警报:握手失败

WSO2 API管理器收到致命警报:握手失败,wso2,wso2-am,api-manager,Wso2,Wso2 Am,Api Manager,使用WSO2 API管理器(V1.10),我发布了一个API,并将SSL证书导入到client-truststore.jks。但当我调用此API时,我收到了以下错误: 2016-07-11 11:42:11,296 [-] [HTTPS-Sender I/O dispatcher-7] ERROR TargetHandler I/O error: Received fatal alert: handshake_failure javax.net.ssl.SSLException: Receive

使用WSO2 API管理器(V1.10),我发布了一个API,并将SSL证书导入到client-truststore.jks。但当我调用此API时,我收到了以下错误:

2016-07-11 11:42:11,296 [-] [HTTPS-Sender I/O dispatcher-7] ERROR TargetHandler I/O error: Received fatal alert: handshake_failure
javax.net.ssl.SSLException: Received fatal alert: handshake_failure
at sun.security.ssl.Alerts.getSSLException(Alerts.java:208)
at sun.security.ssl.SSLEngineImpl.fatal(SSLEngineImpl.java:1650)
at sun.security.ssl.SSLEngineImpl.fatal(SSLEngineImpl.java:1618)
at sun.security.ssl.SSLEngineImpl.recvAlert(SSLEngineImpl.java:1787)
at sun.security.ssl.SSLEngineImpl.readRecord(SSLEngineImpl.java:1071)
at sun.security.ssl.SSLEngineImpl.readNetRecord(SSLEngineImpl.java:893)
at sun.security.ssl.SSLEngineImpl.unwrap(SSLEngineImpl.java:767)
at javax.net.ssl.SSLEngine.unwrap(SSLEngine.java:624)
at org.apache.http.nio.reactor.ssl.SSLIOSession.doUnwrap(SSLIOSession.java:228)
at org.apache.http.nio.reactor.ssl.SSLIOSession.doHandshake(SSLIOSession.java:263)
at org.apache.http.nio.reactor.ssl.SSLIOSession.isAppInputReady(SSLIOSession.java:391)
at org.apache.http.impl.nio.reactor.AbstractIODispatch.inputReady(AbstractIODispatch.java:119)
at org.apache.http.impl.nio.reactor.BaseIOReactor.readable(BaseIOReactor.java:159)
at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:338)
at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:316)
at org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:277)
at org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:105)
at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:586)
at java.lang.Thread.run(Thread.java:745)

我怀疑您的API调用客户端程序没有API服务器的证书。(通常将证书导入JRE的jacerts或其他信任存储)


当您调用此API时,调用此API的客户端程序(例如Java)是否也导入了此WSO2服务器的证书?这可能会解决你的问题

我怀疑您的API调用客户端程序没有API服务器的证书。(通常将证书导入JRE的jacerts或其他信任存储)


当您调用此API时,调用此API的客户端程序(例如Java)是否也导入了此WSO2服务器的证书?这可能会解决你的问题

根据错误日志,这在http发送方中发生。i、 当api管理器调用后端时。如果您的后端是“HTTPS”,则需要根据错误日志将其公共证书导入APIM的信任方,这在http发送方中发生。i、 当api管理器调用后端时。如果您的后端是“HTTPS”,则需要将其公共证书导入到APIM的信任方在
Java1.7
中存在相同问题<代码>Java 1.8解决了我的问题

Java 1.7
中也有同样的问题<代码>Java 1.8解决了我的问题

将证书导入client-truststore.jks是什么意思?您的API有不同的SSL证书吗?在这种情况下,您必须将证书导入到客户端trustore和wso2carbon.jks中,然后在您用来调用API的客户端中使用证书。另外,请检查证书中的主机名。由于证书和请求URI中的主机名不同,可能会发生此异常。将证书导入client-truststore.jks是什么意思?您的API有不同的SSL证书吗?在这种情况下,您必须将证书导入到客户端trustore和wso2carbon.jks中,然后在您用来调用API的客户端中使用证书。另外,请检查证书中的主机名。由于证书和请求URI中的主机名不同,可能会发生此异常。
But When I call this API, I 'm receving this error: