这个问题肯定是已知的。但是我找不到任何解决办法。我使用spring引导云配置服务器通过{cipher}表达式提供所有属性值(加密)。它使用位于同一系统中的密钥存储库。但是密钥仓库的密码是纯文本的。问题是是否有可能对密钥仓库密码进行加密?
提前感谢!
加密密钥存储库密码需要配置一个解密密钥,该密钥本身必须以未加密的方式存储,因此这样做没有任何用处。
我认为最好的方法是将密钥存储库密码设置为环境变量(如本文或此SO问题所述)。
我完全同意@Quagaar的观点,即最好的方法是将其实际存储在环境变量中,并从那里读取application.properties
。比如server.ssl.key-store-password=${KEY_STORE_PASSWORD}
并在终端上的IDE或Export命令的运行配置中设置环境变量。
这就像使用passphrase为另一个密钥创建密钥一样,多次这样做仍然会在存储库(如bitbucket)中结束一些passphrase。
最好使用config server encrypt加密所有密码。key: "{$somepassphrase}"并将此passphrase(主密钥)存储为env变量,并在生成管道时使用Jenkins传递它。