此版本仍在开发中,目前尚不稳定。如需最新稳定版本,请使用 Spring Cloud Config 5.0.1spring-doc.cadn.net.cn

密钥管理

配置服务器可以使用对称(共享)密钥或非对称密钥(RSA 密钥对)。
在安全性方面,非对称选择更优,但通常使用对称密钥更为便捷,因为它只需在 application.properties 中配置一个属性值即可。spring-doc.cadn.net.cn

要配置对称密钥,您需要将 encrypt.key 设置为一个密钥字符串(或使用 ENCRYPT_KEY 环境变量将其从明文配置文件中移除)。spring-doc.cadn.net.cn

如果您将 spring-cloud-starter-bootstrap 包含在类路径中,或设置 spring.cloud.bootstrap.enabled=true 为系统属性,则需要在 bootstrap.properties 中设置 encrypt.key
您无法使用 encrypt.key 配置非对称密钥。

要配置非对称密钥,请使用密钥库(例如,由 JDK 自带的 keytool 工具创建的密钥库)。密钥库属性为 encrypt.keyStore.*,其中 * 等于spring-doc.cadn.net.cn

属性 描述

encrypt.keyStore.locationspring-doc.cadn.net.cn

包含一个 Resource 位置spring-doc.cadn.net.cn

encrypt.keyStore.passwordspring-doc.cadn.net.cn

保存用于解锁密钥库的密码spring-doc.cadn.net.cn

encrypt.keyStore.aliasspring-doc.cadn.net.cn

标识在存储中使用哪个键spring-doc.cadn.net.cn

encrypt.keyStore.typespring-doc.cadn.net.cn

要创建的密钥库类型。默认值为 jksspring-doc.cadn.net.cn

加密使用公钥完成,解密则需要私钥。</p><p>因此,原则上,如果您仅希望进行加密(并准备在本地使用私钥自行解密),则只需在服务器上配置公钥即可。</p><p>实际上,您可能并不想在本地进行解密,因为这会将密钥管理流程分散到所有客户端,而非集中于服务器。</p><p>另一方面,如果您的配置服务器相对不安全,且仅有少量客户端需要加密的属性,则此选项可能很有用。spring-doc.cadn.net.cn