【发布时间】:2017-01-27 23:48:12
【问题描述】:
这个问题肯定是已知的。但我找不到任何解决方案。我正在使用 Spring Boot 云配置服务器通过 {cipher} 表达式提供所有属性值(加密)。它使用位于同一系统中的密钥库。但是密钥库的密码是纯文本的。问题是有一些如何加密密钥库密码的可能性?
提前致谢!
【问题讨论】:
标签: java spring encryption keystore keystore-access
这个问题肯定是已知的。但我找不到任何解决方案。我正在使用 Spring Boot 云配置服务器通过 {cipher} 表达式提供所有属性值(加密)。它使用位于同一系统中的密钥库。但是密钥库的密码是纯文本的。问题是有一些如何加密密钥库密码的可能性?
提前致谢!
【问题讨论】:
标签: java spring encryption keystore keystore-access
我完全同意@Quagaar 的观点,最好的方法是将其实际存储在环境变量中,并从那里读取application.properties。类似server.ssl.key-store-password=${KEY_STORE_PASSWORD}
并在终端上的 IDE 或导出命令的运行配置中设置环境变量。
【讨论】:
这就像使用密码为另一个密钥创建一个密钥一样,多次这样做仍然会在存储库中保留一些密码(如 bitbucket)。
最好使用配置服务器 encrypt.key: "{$somepassphrase}" 加密所有密码,并将此密码(主密钥)存储为 env 变量,并在生成管道时使用 Jenkins 传递它。
【讨论】: