【发布时间】:2019-10-11 14:58:13
【问题描述】:
我有一个证书,正在尝试将证书设置为“javax.net.ssl.keyStore”。
System.setProperty("javax.net.ssl.keyStore", "certs/certfile.p12");
System.setProperty("javax.net.ssl.keyStorePassword", "password");
//( 完全限定路径类似于 src/main/resources/certs/certfile.p12 )
当我在本地运行时,这些属性工作正常,但在 docker conatiner 中,问题是 certs/certfile.p12 中没有这样的文件或目录。
我需要将该 certfile.p12 添加到 JAR 中的 javax.net.ssl.keyStore 中。 也接受替代解决方案。
注意:完全限定路径在 JAR 中不起作用。
提前致谢。
【问题讨论】:
-
能否提供您正在使用的镜像以及您使用什么命令来启动容器?
-
我没有启动容器,我正在尝试在更高的环境中部署。我可以提供错误的屏幕截图。这里是 java.io.FileInputStream.open0(Native Method) 的日志 java.io.FileNotFoundException: file:/app.jar!/BOOT-INF/classes!/tls/certfile.p12 (No such file or directory) ~ [na:1.8.0_212] 在 java.io.FileInputStream.open(FileInputStream.java:195) ~[na:1.8.0_212] 在 java.io.FileInputStream.
(FileInputStream.java:138) ~[na :1.8.0_212] 在 java.io.FileInputStream. (FileInputStream.java:93) ~[na:1.8.0_212] -
呃,
certs/certfile.p12文件是如何到达 docker 的?是否有一个文件夹被挂载或在构建过程中被复制? -
该文件夹是在开发过程中手动添加的,它是 jar 的一部分。
标签: java spring-boot docker