首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在WSO2Carbon中执行API时的bad_certificate

在WSO2Carbon中执行API时的bad_certificate
EN

Stack Overflow用户
提问于 2018-06-08 20:13:48
回答 2查看 1.9K关注 0票数 2

虽然我的站点的证书是好的("openssl verify mysite.com.cer“结果是OK),而且我的站点是ssl认证的,在url-bar中包含绿色锁,但每当我的WSO2应用程序中的订阅者执行api时,我的站点都会生成一个致命的警报: bad_certificate。

代码语言:javascript
复制
[2018-06-08 10:54:47,167] ERROR - SourceHandler I/O error: Received fatal alert: bad_certificate
javax.net.ssl.SSLException: Received fatal alert: bad_certificate
    at sun.security.ssl.Alerts.getSSLException(Alerts.java:208)
    at sun.security.ssl.SSLEngineImpl.fatal(SSLEngineImpl.java:1666)
    at sun.security.ssl.SSLEngineImpl.fatal(SSLEngineImpl.java:1634)
    at sun.security.ssl.SSLEngineImpl.recvAlert(SSLEngineImpl.java:1800)
    at sun.security.ssl.SSLEngineImpl.readRecord(SSLEngineImpl.java:1083)
    at sun.security.ssl.SSLEngineImpl.readNetRecord(SSLEngineImpl.java:907)
    at sun.security.ssl.SSLEngineImpl.unwrap(SSLEngineImpl.java:781)
    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.decryptData(SSLIOSession.java:378)
    at org.apache.http.nio.reactor.ssl.SSLIOSession.isAppInputReady(SSLIOSession.java:413)
    at org.apache.http.impl.nio.reactor.AbstractIODispatch.inputReady(AbstractIODispatch.java:119)
    at org.apache.http.impl.nio.reactor.BaseIOReactor.validate(BaseIOReactor.java:218)
    at org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:281)
    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)

我浏览了几个关于'bad_certificate‘的堆栈溢出问题,但没有找到解决方案。

为了导入我的证书,我遵循了WSO2's docs

代码语言:javascript
复制
 openssl pkcs12 -export -in SSL_certificate_www_mysite_com.crt -inkey www.mysite.com.key -name "mykeys" -certfile mysite.com.cer -out mykeys.pfx
 keytool -importkeystore -srckeystore mykeys.pfx -srcstoretype pkcs12 -destkeystore mykeys.jks -deststoretype JKS
 keytool -export -alias "mykeys" -keystore mykeys.jks -file mykeys.pem
 copied mykeys.pem and mykeys.jks to /usr/local/opt/wso2am-2.2.0/repository/resources/security/
 keytool -import -alias "mykeys" -file mykeys.pem -keystore client-truststore.jks -storepass wso2carbon and answered yes to include the certificate

然后,我不得不更改几个配置文件,以使用mykey而不是wso2carbon。所以我就这么做了。

然后我重新启动wso2-carbon,登录并检查mykeys.JKS是否出现在密钥库列表中,它确实出现了。

我的网站是正确的ssl认证,绿色锁显示在网址栏。一切正常,直到以订阅者身份登录并尝试执行API时,这会导致响应"ERROR - SourceHandler I/O error: Received fatal alert: bad_certificate“和来自sourcehandler的上述日志

此错误记录在存储库/logs/wso2 2-apigw-errors.log和wso2carbon.log中,但只有这条消息,没有其他消息。

下一步在哪里查找我的证书未正确验证的原因?

EN

回答 2

Stack Overflow用户

发布于 2018-09-25 03:03:45

问题出在自签名证书中

假设您的服务在此终结点发布:

代码语言:javascript
复制
https://192.168.99.3:8243/first/1.0.0 

然后你必须进入一个新的浏览器窗口

代码语言:javascript
复制
https://192.168.99.3:8243/

将浏览器设置为始终接受https证书

在此之后,api控制台中的调用应该可以工作

票数 3
EN

Stack Overflow用户

发布于 2019-07-17 14:40:53

如果您有单独的Store和网关实例,请在浏览器中打开网关:9443/carbon并接受自签名证书。这应该行得通。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50760434

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档