对于最新的稳定版本,请使用 Spring Cloud Config 4.3.0! |
密钥管理
配置服务器可以使用对称(共享)密钥或非对称密钥(RSA 密钥对)。
非对称选择在安全性方面更胜一筹,但使用对称键通常更方便,因为它是在application.properties
.
要配置对称键,您需要将encrypt.key
添加到 secret String(或使用ENCRYPT_KEY
环境变量,使其远离纯文本配置文件)。
如果您包括spring-cloud-starter-bootstrap 在类路径或集合上spring.cloud.bootstrap.enabled=true 作为系统属性,您需要将encrypt.key 在bootstrap.properties . |
您无法使用encrypt.key . |
要配置非对称密钥,请使用密钥库(例如
由keytool
JDK 附带的实用程序)。这
keystore 属性是encrypt.keyStore.*
等于*
属性 | 描述 |
---|---|
|
包含一个 |
|
保存用于解锁密钥库的密码 |
|
标识要在存储中使用哪个密钥 |
|
要创建的密钥库类型。默认为 |
加密是使用公钥完成的,私钥是 解密需要。 因此,原则上,如果您只想加密(并准备使用私钥在本地自行解密值),则只能在服务器中配置公钥。 实际上,您可能不想在本地进行解密,因为它将密钥管理过程分布在所有客户端上,而不是 将其集中在服务器中。 另一方面,如果您的配置服务器相对不安全并且只有少数客户端需要加密属性,则它可能是一个有用的选项。