java - 在 Docker 中解密 Spring 属性值

标签 java spring docker spring-boot

Docker 1.12.1

Spring-Boot 1.3.2

我正在“dockerizing”我的 spring-boot 应用程序,该应用程序在 .yml 文件中包含敏感数据。我不想以纯文本形式存储此内容。但是,当应用程序在 Docker 中启动时,它需要能够访问这些值的解密(纯文本)版本,以便这些值可以与应用程序中的 @Value 一起使用。

我找到了这个link来自 spring cloud,但目前还不清楚我将如何以本地方式进行加密/解密,更不用说引入 docker 时它将如何工作了。

我的问题是这样的

  1. 我该如何加密敏感文本,使其在 Docker 中运行时能够被解密。
  2. 我该如何解密文本,以便当应用程序在 docker 中启动时使用解密的值,或者甚至在本地启动应用程序时使用解密的值?

最佳答案

  1. jasypt-spring-boot-starter 加密您的内容
  2. 对于加密 key ,请使用 @secret.key@ 等 Maven 属性
  3. 当您从命令行构建 spring 时,使用 -Dsecret.key=xxx 传递 Secret.key,然后构建 docker 镜像
  4. 确保必要的人员可以访问您的容器以查看 Secret.key。保护您的 key 。

关于java - 在 Docker 中解密 Spring 属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40315242/

相关文章:

java - 调用函数以显示/隐藏来自另一个类的 ImageView

java - 我正在编写 RPG 游戏的一部分,出现错误 "incompatible types: char cannot be converted into boolean"(java, bluej)

java.math.BigDecimal 无法转换为 [Ljava.lang.Object;

docker - 如何将字典以及列表成员添加到键?

java - 外部文件未找到文件异常

没有检测的 Java 代码覆盖率

java - 使用 JPQL 或 HQL 时如何将 @OneToMany 字段映射到 List<DTO>?

Spring 安全 3.2.0 > <安全 :form-login/> deprecated

docker - docker 登录未知速记标志: 'e'

docker:来自守护进程的错误响应:获取 https://registry-1.docker.io/v2/:proxyconnect tcp:EOF