bad_certificate при выполнении API в WSO2Carbon - PullRequest
0 голосов
/ 08 июня 2018

Несмотря на то, что сертификат моего сайта в порядке, ("openssl verify mysite.com.cer" привел к ОК), и мой сайт сертифицирован ssl, включая зеленую блокировку в панели URL, мой сайт генерирует фатальное предупреждение: bad_certificateвсякий раз, когда подписчик в моем приложении WSO2 выполняет API.

[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)

Я просматривал несколько вопросов stackoverflow о 'bad_certificate', но не находил решения.

Чтобы импортировать свой сертификат, я следовал Документы WSO2 :

 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

Затем мне пришлось изменить несколько файлов конфигурации, чтобы использовать mykeys вместо wso2carbon.Я так и сделал.

Затем я перезапустил wso2-carbon, залогинился и проверил, что mykeys.JKS обнаружен в списке хранилищ ключей.

Мой сайт правильно сертифицирован ssl,зеленый замок, отображаемый в url-баре.Все работает нормально, до того момента, когда вошел в систему как подписчик, я пытаюсь выполнить API, что приводит к ответу «ОШИБКА - Ошибка ввода-вывода SourceHandler: получено фатальное предупреждение: bad_certificate» и вышеупомянутый журнал, поступающий от sourcehandler

Эта ошибка регистрируется в репозиториях / logs / wso2-apigw-errors.log и wso2carbon.log, но только в этом сообщении, больше ничего.

Где искать рядом сузнать, почему мой сертификат не проходит проверку?

Ответы [ 2 ]

0 голосов
/ 17 июля 2019

Если у вас есть отдельные экземпляры Store и gateway, откройте шлюз: 9443 / carbon в браузере и примите самоподписанный сертификат.Это должно работать.

0 голосов
/ 24 сентября 2018

проблема в самозаверяющем сертификате

предположите, что ваша служба опубликована в этой конечной точке:

https://192.168.99.3:8243/first/1.0.0 

, затем вам нужно перейти в новое окно браузера

https://192.168.99.3:8243/

настроить браузер так, чтобы он всегда принимал сертификат https

, после этого вызов в консоли API должен работать

...