我在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文件中包含相同的证书。