WSO2 BinaryDataReceiver Ошибка при чтении из сокета - PullRequest
0 голосов
/ 08 мая 2018

Я перенес API Manager в версию 2.1.0 и получаю следующую ошибку. Я использовал тот же сертификат, который я использовал для идентификационного сервера, и он должен работать. Как я могу узнать, что вызывает эту проблему? Какой файл может я проверяю?

[2018-05-08 04:46:50,601]  WARN - FileSystemPreferences Could not lock System prefs. Unix error code 1.
[2018-05-08 04:46:50,601]  WARN - FileSystemPreferences Couldn't flush system prefs: java.util.prefs.BackingStoreException: Couldn't get file lock.
[2018-05-08 04:47:04,287]  INFO - PermissionUpdater Permission cache updated for tenant -1234
[2018-05-08 04:47:09,272] ERROR - BinaryDataReceiver Error while reading from the socket.
javax.net.ssl.SSLHandshakeException: Received fatal alert: certificate_unknown
        at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
        at sun.security.ssl.Alerts.getSSLException(Alerts.java:154)
        at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:2023)
        at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1125)
        at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375)
        at sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:928)
        at sun.security.ssl.AppInputStream.read(AppInputStream.java:105)
        at java.io.BufferedInputStream.fill(BufferedInputStream.java:246)

Я использую пользовательские jks под названием mycert.jks ... Я заменяю wso2carbon.jks на mycert.jks во всех местах, где используется имя хранилища ключей ... Может быть, есть место, которое я не должен изменить, или я должен измениться?

1 Ответ

0 голосов
/ 21 ноября 2018

Received fatal alert: certificate_unknown Это должно быть связано с тем, что серверу API Manager не удалось проверить полученный сертификат. (возможно, во время вызова Identity Server). Если полученный сертификат не подписан центром сертификации, сервер APIM не сможет проверить его, не имея своего сертификата в хранилище доверенных сертификатов клиента.

Как уже упоминалось, вы заменили wso2carbon.jks на mycert.jks . Пожалуйста, убедитесь, что вы сделали следующее.

  1. Извлечение / импорт открытого сертификата из нового закрытого ключа и добавление / экспорт его в файл client-truststore.jks сервера API Manager. 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
  2. Вы должны установить один и тот же пароль для хранилища ключей и ввести его самостоятельно.

Если проблема не устранена, добавьте журналы отладки SSL, следуя this . Эти журналы предоставят больше информации о том, где и в чем проблема.

...