Не удалось включить функцию обратного вызова поставщика удостоверений при настройке федерации удостоверений в Keycloak - PullRequest
0 голосов
/ 20 июня 2019

Брелок находится внутри контейнера Docker.Цель состоит в том, чтобы сделать объединение идентичности между keyclaok (K1) и другим партнерским Keycloak (K2).K2 размещен за соединением SSL.

Согласно документации, я настраиваю хранилище доверия.Но все равно я получаю следующую ошибку:

Exception: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
    at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
    at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1946)
    at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:316)
    at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:310)

Я обновляю standalone.xml для этой цели

[1] - https://www.keycloak.org/docs/latest/server_installation/index.html#_truststore

1 Ответ

0 голосов
/ 20 июня 2019

Начиная с версии 4.5.0, образ док-станции Keycloak использует standalone-ha.xml вместо standalone.xml по умолчанию. Это причина, по которой Keycloak не распознал новое хранилище доверия. Ниже приведены инструкции по настройке хранилища доверенных сертификатов в Keycloak для развертываний на основе докеров.

Шаг 1:

Добавьте следующие шаги в файл standalone-ha.xml.

        <spi name="truststore">
            <provider name="file" enabled="true">
                    <properties>
                            <property name="file" value="/opt/jboss/truststore.jks"/>
                            <property name="password" value="password"/>
                            <property name="hostname-verification-policy" value="WILDCARD"/>
                            <property name="disabled" value="false"/>
                    </properties>
            </provider>
        </spi>

Шаг 2:

Скопировать файл в док-контейнер

docker cp standalone-ha.xml continer_id:/opt/jboss/keycloak/standalone/configuration/standalone-ha.xml

Шаг 3:

Скопируйте сертификат внутри контейнера. Сертификат можно экспортировать из самого браузера (публичный сертификат).

docker cp cert.crt 9fbd81264f65:/opt/jboss/cert.crt

Шаг 4:

ssh в контейнер docker exec -it container_id bash

Шаг 5:

keytool -import -alias efactory-nimble.salzburgresearch.at -keystore truststore.jks -file cert.crt

Шаг 6:

перезапуск докера container_id

[1] - https://lists.jboss.org/pipermail/keycloak-user/2018-October/016066.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...