我在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?是否还有其他人也遇到过此问题?
答案 0 :(得分:0)
是的,在将证书添加到密钥库后,JVM需要重新启动-请看这里:Imported certificate to Java keystore, JVM ignores the new cert。
除此之外,您可能应该有一种更“持久”的方式来更新密钥库,因为在删除容器后密钥库将消失。