在Docker容器中添加信任证书

时间:2019-05-27 11:09:56

标签: https jvm certificate keycloak

我在docker内部运行了一个密钥斗篷,我想添加一个受信任的证书,因此我将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

成功导入证书后,我也在密钥隐藏中收到此错误。

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?是否还有其他人也遇到过此问题?

1 个答案:

答案 0 :(得分:0)

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

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