Config Server 可以使用对称(共享)密钥或非对称密钥(RSA 密钥对)。
非对称选择在安全性方面更胜一筹,但使用对称密钥通常更方便,因为它是要在 中配置的单个属性值。application.properties
若要配置对称密钥,需要设置为 secret String(或使用 environment 变量将其排除在纯文本配置文件之外)。encrypt.key
ENCRYPT_KEY
如果包含在类路径中或设置为系统属性,则需要设置 。spring-cloud-starter-bootstrap spring.cloud.bootstrap.enabled=true encrypt.key bootstrap.properties |
如果包含在类路径中或设置为系统属性,则需要设置 。spring-cloud-starter-bootstrap spring.cloud.bootstrap.enabled=true encrypt.key bootstrap.properties |
不能使用 配置非对称密钥。encrypt.key |
不能使用 配置非对称密钥。encrypt.key |
要配置非对称密钥,请使用密钥库(例如
由 JDK 附带的实用程序创建)。这
密钥库属性等于keytool
encrypt.keyStore.*
*
财产 | 描述 |
---|---|
|
包含位置 |
|
保存用于解锁密钥库的密码 |
|
标识要在存储中使用的密钥 |
|
要创建的 KeyStore 类型。默认值为 。 |
加密是用公钥完成的,私钥是 需要解密。 因此,原则上,如果您只想加密(并准备使用私钥在本地自行解密值),则只能在服务器中配置公钥。 在实践中,您可能不希望在本地进行解密,因为它将密钥管理过程分散到所有客户端,而不是 将其集中在服务器中。 另一方面,如果您的配置服务器相对不安全并且只有少数客户端需要加密属性,这可能是一个有用的选择。