当我试图从一个基于反应的前端应用程序调用任何API https://:8243/时,我得到了以下认证错误。我已经在wso2 ei6.3中定义了rest。我不使用wso2 APIM。
我为解决这个问题所做的工作: 1.创建了一个新的自签名证书,并创建了一个新的密钥存储区。更新的carbon.xml,axis2.xml文件。重新启动服务器。我可以在wso2 Ei中看到我的证书。2.我在浏览器中接受了证书。
但我仍然无法消除这个错误。
此错误是由于自签名证书而来的吗?如果我将使用任何CA签署的证书,那么这个问题将不会在那里?任何帮助或指针都是非常感谢的。
[2020-04-07 08:54:48,841] [-1] [] [HTTPS-Listener I/O dispatcher-2] ERROR {org.apache.synapse.transport.passthru.SourceHandler} - I/O error: Received fatal alert: certificate_unknown
javax.net.ssl.SSLException: Received fatal alert: certificate_unknown
at sun.security.ssl.Alerts.getSSLException(Alerts.java:208)
at sun.security.ssl.SSLEngineImpl.fatal(SSLEngineImpl.java:1647)
at sun.security.ssl.SSLEngineImpl.fatal(SSLEngineImpl.java:1615)
at sun.security.ssl.SSLEngineImpl.recvAlert(SSLEngineImpl.java:1781)
at sun.security.ssl.SSLEngineImpl.readRecord(SSLEngineImpl.java:1070)
at sun.security.ssl.SSLEngineImpl.readNetRecord(SSLEngineImpl.java:896)
at sun.security.ssl.SSLEngineImpl.unwrap(SSLEngineImpl.java:766)
at javax.net.ssl.SSLEngine.unwrap(SSLEngine.java:624)
at org.apache.http.nio.reactor.ssl.SSLIOSession.doUnwrap(SSLIOSession.java:245)
at org.apache.http.nio.reactor.ssl.SSLIOSession.doHandshake(SSLIOSession.java:280)
at org.apache.http.nio.reactor.ssl.SSLIOSession.isAppInputReady(SSLIOSession.java:410)
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:748)BR// Vipin Nirwal
发布于 2020-04-08 14:08:09
我解决了这个问题。我遵循以下步骤。我首先创建了一个自己的CA。然后创建一个由我自己的CA签名的证书。将我的CA的根证书导入浏览器,因为浏览器需要信任此CA。在这次更新carbon.xml之后,axis2目录和catalina-server.xml文件中的文件带有适当的jks文件和密钥存储的密码。重新启动服务器。
发布于 2020-04-07 13:08:12
您可以通过在EI服务器中启用SSL调试日志来自己调试它。在SSL日志中,可以检查客户端证书和服务器证书是否匹配。请看下面的博客。
https://medium.com/@nipunadilhara/enabling-ssl-debug-logs-for-wso2-products-30833d5de88e
https://stackoverflow.com/questions/61076486
复制相似问题