Добавление сертификата доверия в Docker-контейнере - PullRequest
0 голосов
/ 27 мая 2019

У меня работает keycloak внутри докера, и я хочу добавить доверенный сертификат, поэтому я ssh в контейнере, скопировал файл сертификата и импортировал сертификат через keytool

${JAVA_JDK}/jre/bin/keytool \
    -import -trustcacerts \
    -alias "efactory-nimble_salzburgresearch_at.crt" -file efac.crt \
    -keystore ${JAVA_JDK}/jre/lib/security/cacerts \
    -storepass changeit \
    -noprompt

Ответ от ключевого инструмента был

Picked up _JAVA_OPTIONS: -Xmx256m -Xms50m
Certificate was added to keystore

После успешного импорта сертификата я также получаю эту ошибку в keycloak.

Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

Итак, мой вопрос: нужно ли перезапускать jvm после добавления сертификата в контейнер докера и сталкивался ли кто-нибудь еще с этой проблемой?

1 Ответ

0 голосов
/ 28 мая 2019

Да, JVM необходимо перезапустить после добавления сертификата в хранилище ключей - смотрите здесь: Импортированный сертификат в хранилище ключей Java, JVM игнорирует новый сертификат .

Кроме этого, вам следуетвероятно, есть более «постоянный» способ обновления хранилища ключей, так как оно исчезнет после удаления контейнера.

...