En plus du {} chiffrement préfixe dans la valeur des propriétés cryptées, les regards de configuration du serveur pour zéro ou plus: préfixes {nom} valeur avant le début de la (codé en base64) texte chiffré. Les touches sont transmises à un TextEncryptorLocator, qui peut faire tout ce que la logique dont il a besoin de trouver un TextEncryptor pour le chiffrement. Si vous avez configuré un fichier de clés (encrypt.keystore.location), les regards de localisation par défaut pour les clés avec des alias fournis par le préfixe clé, avec un texte de chiffrement comme ressemblant à ce qui suit:
foo:
bar:{cipher}{key:testkey}...
Le localisateur recherche une clé nommée « TestKey ». Un secret peut également être fourni en utilisant un {secret ...} valeur dans le préfixe. Cependant, si elle n'est pas fourni, la valeur par défaut est d'utiliser le mot de passe de keystore (qui est ce que vous obtenez lorsque vous créez un fichier de clés et ne spécifiez pas un secret). Si vous ne fournissez un secret, vous devez également chiffrer le secret à l'aide d'un SecretLocator personnalisé.
Lorsque les touches sont utilisées uniquement pour chiffrer quelques octets de données de configuration (qui est, ils ne sont pas utilisés ailleurs), la rotation des clés est presque jamais nécessaire pour des raisons de chiffrement. Cependant, vous pourriez avoir besoin de temps en temps pour changer les clés (par exemple, en cas de violation de la sécurité). Dans ce cas, tous les clients devront changer leurs fichiers de configuration source (par exemple, dans git) et utiliser un nouveau {key: ...} préfixe dans tous les chiffrements. Notez que les clients doivent d'abord vérifier que l'alias clé est disponible dans le keystore Config Server.
Si vous voulez laisser la poignée de configuration du serveur tout cryptage ainsi que le décryptage, le: préfixes peut également être ajouté sous forme de texte {nom} valeur affichée sur le point de terminaison / Chiffrer,.