如果不在类路径中,请在Spring Boot中将密钥存储证书存储在何处以重用微服务泊坞映像

时间:2019-09-09 21:24:31

标签: spring-boot spring-security spring-security-oauth2

我在Spring Boot中有一组微服务。他们为oAuth使用spring安全密钥库配置,而我使用gradle作为docker镜像来构建它们。比我在多个项目中运行这些图像。 我使用在每个示例中找到的配置将其添加到类路径中(实际上是在我的src / main / resources目录中添加了pkcs12文件,因此gradle可以很好地构建Spring引导档案了)

我的问题是,如上所述,我以非常通用的方式在不同的范围(dev / QA /生产)和不同的应用程序中重用了这些微服务,因此我可以重用这些微服务而无需接触一行代码。

我不想在所有项目和环境中使用相同的证书(例如,在dev中工作的编码人员不知道生产中使用的证书是哪个)。我不知道如何放置pkcs12文件,使其不属于项目本身,所以当我部署微服务时我不会这样做:

key-store: classpath:mycert.pkcs12

但类似

key-store: someCertificateStorageSystemNotInTheMicroserviceJarOrClasspath:mycert.pkcs12

我知道我可以在构建微服务docker映像时使用build参数添加证书文件,然后在密钥库配置中使用绝对路径引用它,但是我想知道是否有比此更好的做法或推荐的方法?以避免在jar文件中包含相同的证书。

0 个答案:

没有答案