Общая проблема SSLEngine в WSO2 Integration Studio

Я собирался создать API в Integration Studio, который будет вызывать WSO2 API Endpoint.

Мой код ниже:

<?xml version = "1.0" encoding = "UTF-8"?>
<api context = "/backend" name = "Backend" xmlns = "http://ws.apache.org/ns/synapse">
    <resource methods = "GET">
        <inSequence>
            <call>
                <endpoint>
                    <http method = "get" uri-template = "https://localhost:9443/api/am/publisher/v3/apis">
                        <suspendOnFailure>
                            <initialDuration>-1</initialDuration>
                            <progressionFactor>-1</progressionFactor>
                            <maximumDuration>0</maximumDuration>
                        </suspendOnFailure>
                        <markForSuspension>
                            <retriesBeforeSuspension>0</retriesBeforeSuspension>
                        </markForSuspension>
                    </http>
                </endpoint>
            </call>
            <respond/>
        </inSequence>
        <outSequence/>
        <faultSequence/>
    </resource>
</api>

Но я получил эту ошибку в консоли:

    [2023-04-05 09:55:18,582]  WARN {TargetHandler} - ERROR_CODE = 101500, STATE_DESCRIPTION = Exception occurred when Server establishing a connection to the backend, INTERNAL_STATE = REQUEST_READY, DIRECTION = REQUEST, CAUSE_OF_ERROR = I/O exception : General SSLEngine problem, TARGET_HOST = 127.0.0.1, TARGET_PORT = 9443, TARGET_CONTEXT = https://localhost:9443/api/am/publisher/v3/apis, HTTP_METHOD = GET, TRIGGER_TYPE = api, TRIGGER_NAME = Backend, REMOTE_ADDRESS = localhost/127.0.0.1:9443, CONNECTION = http-outgoing-2
    [2023-04-05 09:55:18,582] ERROR {TargetHandler} - I/O error: General SSLEngine problem javax.net.ssl.SSLHandshakeException: General SSLEngine problem
        at sun.security.ssl.Handshaker.checkThrown(Handshaker.java:1566)
        at sun.security.ssl.SSLEngineImpl.checkTaskThrown(SSLEngineImpl.java:545)
        at sun.security.ssl.SSLEngineImpl.writeAppRecord(SSLEngineImpl.java:1217)
        at sun.security.ssl.SSLEngineImpl.wrap(SSLEngineImpl.java:1185)
        at javax.net.ssl.SSLEngine.wrap(SSLEngine.java:471)
        at org.apache.http.nio.reactor.ssl.SSLIOSession.doWrap(SSLIOSession.java:237)
        at org.apache.http.nio.reactor.ssl.SSLIOSession.doHandshake(SSLIOSession.java:271)
        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)
    Caused by: javax.net.ssl.SSLHandshakeException: General SSLEngine problem
        at sun.security.ssl.Alerts.getSSLException(Alerts.java:198)
        at sun.security.ssl.SSLEngineImpl.fatal(SSLEngineImpl.java:1729)
        at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:333)
        at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:325)
        at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1688)
        at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:226)
        at sun.security.ssl.Handshaker.processLoop(Handshaker.java:1082)
        at sun.security.ssl.Handshaker$1.run(Handshaker.java:1015)
        at sun.security.ssl.Handshaker$1.run(Handshaker.java:1012)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.security.ssl.Handshaker$DelegatedTask.run(Handshaker.java:1504)
        at org.apache.http.nio.reactor.ssl.SSLIOSession.doRunTask(SSLIOSession.java:255)
        at org.apache.http.nio.reactor.ssl.SSLIOSession.doHandshake(SSLIOSession.java:293)
        ... 9 more
    Caused by: sun.security.validator.ValidatorException: PKIX path validation failed: java.security.cert.CertPathValidatorException: signature check failed
        at sun.security.validator.PKIXValidator.doValidate(PKIXValidator.java:380)
        at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:285)
        at sun.security.validator.Validator.validate(Validator.java:262)
        at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:330)
        at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:289)
        at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:144)
        at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1675)
        ... 17 more
    Caused by: java.security.cert.CertPathValidatorException: signature check failed
.
.
.
    Caused by: java.security.SignatureException: Signature does not match.

Как решить эту общую проблему SSLEngine с помощью Integration Studio?

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
0
83
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

У этой ошибки может быть несколько причин. Это указывает на то, что серверу не удалось проверить сертификат сервера диспетчера API. Например, сертификат может быть недействительным (если вы изменили хранилища ключей по умолчанию), и ваше системное время может быть отключено, что приведет к истечению срока действия сертификата и т. д.

При этом наиболее распространенной причиной может быть отсутствие общедоступного сертификата в доверительном хранилище клиента. Чтобы решить эту проблему, если вы просто хотите решить эту проблему в своей локальной настройке, самое простое решение — скопировать <APIM_HOME>/repository/resources/security/client-truststore.jks и <APIM_HOME>/repository/resources/security/wso2carbon.jks в <INTEGRATION_STUDIO_HOME>/runtime/microesb/repository/resources/security. (Замените существующие, убедитесь, что вы сделали их резервную копию).

Правильное решение — импортировать публичный сертификат API Manager в Micro Integrator, как описано здесь.

Экспорт из АПИМ

keytool -export -alias certalias -keystore newkeystore.jks -file <public key name>.pem

Импортировать в МИ

keytool -import -alias certalias -file <public key name>.pem -keystore client-truststore.jks -storepass wso2carbon

Другие вопросы по теме