金鑰管理
Config Server 可以使用對稱(共享)金鑰或非對稱(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.*,其中 * 等於
| 財產 | 描述 |
|---|---|
|
包含一個 |
|
持有解鎖金鑰庫的密碼 |
|
標識要使用的金鑰庫中的金鑰 |
|
要建立的 KeyStore 型別。預設為 |
加密使用公鑰完成,解密需要私鑰。因此,原則上,如果您只想加密(並準備好使用私鑰在本地自行解密值),則可以在伺服器中僅配置公鑰。在實踐中,您可能不想在本地解密,因為它會將金鑰管理過程分散到所有客戶端,而不是集中在伺服器中。另一方面,如果您的配置伺服器相對不安全,並且只有少數客戶端需要加密屬性,那麼它可能是一個有用的選項。