【问题标题】:Adding trust cert inside a docker container在 docker 容器中添加信任证书
【发布时间】:2019-05-27 11:09:55
【问题描述】:

我有一个在 docker 中运行的 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

所以我的问题是,在 docker 容器中添加证书后是否需要重新启动 jvm,其他人是否也遇到过这个问题?

【问题讨论】:

    标签: https jvm certificate keycloak


    【解决方案1】:

    是的,将证书添加到密钥库后,JVM 需要重新启动 - 看这里:Imported certificate to Java keystore, JVM ignores the new cert

    除此之外,您可能应该有一种更“持久”的方式来更新密钥库,因为它会在容器被删除后消失。

    【讨论】:

      猜你喜欢
      • 2017-04-21
      • 2018-12-21
      • 2018-12-26
      • 2018-04-06
      • 2019-02-23
      • 2021-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多