跳到主要内容

密钥管理

DeepSeek V3 中英对照 Key Management

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

要配置对称密钥,你需要将 encrypt.key 设置为一个秘密字符串(或者使用 ENCRYPT_KEY 环境变量以避免将其保存在明文配置文件中)。

备注

如果在类路径中包含 spring-cloud-starter-bootstrap 或者将 spring.cloud.bootstrap.enabled=true 设置为系统属性,你需要在 bootstrap.properties 中设置 encrypt.key

备注

你无法使用 encrypt.key 配置非对称密钥。

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

属性描述
encrypt.keyStore.location包含一个 Resource 位置
encrypt.keyStore.password保存用于解锁密钥库的密码
encrypt.keyStore.alias标识要使用的密钥库中的密钥
encrypt.keyStore.type要创建的 KeyStore 类型。默认为 jks

加密是使用公钥进行的,解密则需要私钥。因此,原则上,如果你只想加密(并且准备在本地使用私钥解密这些值),你可以在服务器上只配置公钥。实际上,你可能不希望本地解密,因为这会将密钥管理过程分散到所有客户端,而不是集中在服务器上。另一方面,如果你的配置服务器相对不安全,并且只有少数客户端需要加密的属性,这可能是一个有用的选项。