Remplir
L'utilisation du chiffrement de configuration de Cloud Spring nécessite le téléchargement de l'extension JCE pour générer des textes chiffrés de longueurs infinies. Lien: http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
Après téléchargement, dézip et copiez les deux packages JAR obtenus dans le répertoire $ Java_Home / Jre / Lib / Security.
Introduction
Dans un environnement de projet réel, nous ne stockons pas de texte confidentiel tel que des mots de passe dans le fichier de configuration pour empêcher qu'il soit volé. Spring Cloud Config fournit des méthodes de chiffrement pour crypter le texte en clair dans un texte chiffré stocké dans des fichiers de configuration. Spring Cloud Config fournit deux méthodes de chiffrement et de décryptage, l'une est un cryptage symétrique et l'autre est un cryptage asymétrique. Cet article montrera d'abord comment utiliser le chiffrement symétrique.
Introduction au chiffrement symétrique
Le chiffrement symétrique signifie que les deux parties à la communication utilisent la même clé pour crypter et déchiffrer le texte. Il a deux méthodes de chiffrement:
Le cryptage symétrique est un moyen relativement simple. Tant que les deux parties ont la même clé, elles peuvent compléter le chiffrement et le décryptage du texte. Cependant, l'inconvénient du cryptage symétrique est qu'il ne peut pas authentifier la source. Autrement dit, si Alice et Bob communiquent, Alice utilise la clé pour passer le texte crypté à Bob, mais Eve intercepte le texte chiffré au milieu, puis Eve transmet le texte chiffré à Bob, faisant penser à tort qu'Eve est Alice, ce qui entraînera une fuite de données.
Code source du projet
Cloud de code gitee
Configurer la configuration
Tout d'abord, nous devons configurer une clé pour le chiffrement et ajouter les éléments de configuration suivants dans le fichier de configuration bootstrap.yml dans notre projet de configuration:
Encrypt: clé: ThisismySecretkey
test
Nous utilisons cette clé pour crypter un élément de test de notre site Web. Spring Cloud Config fournit des chemins terminaux cryptés et déchiffrés, / crypte et / décrypt. Démarrez Configserver, puis nous cryptons notre texte de test en utilisant / crypter le terminal:
Curl localhost: 8888 / Encrypt -d 12345678
Le résultat renvoyé est (le résultat sera différent à chaque fois):
94C1027141ADD9844EC47F0BE13CAEBB6B38ED1DCF99811B1A5CD2B874C64407
Ensuite, dans notre référentiel de configuration distant, modifiez la configuration Web-Client.yml et ajoutez une nouvelle configuration:
Test: Mot de passe: '{Cipher} 94C1027141ADD9844EC47F0BE13CAEBB6B38ED1DCF99811B1A5CD2B874C64407'Les citations ici sont requises, puis {Cipher} indique que l'élément de données est chiffré. Ensuite, nous pouvons vérifier le décryptage:
Curl LocalHost: 8888 / Decrypt -D 94C1027141Add9844EC47F0BE13CAEBB6B38ED1DCF99811B1A5CD2B874C64407
Dans des circonstances normales, nous obtiendrons 12345678 caractères. Ensuite, nous accédons au fichier de configuration web-lient.yml via URL et nous obtiendrons le résultat suivant:
{"Name": "Web-Client", "Profils": ["Default"], "Label": Null, "Version": "6B73C56449ACEE907FCF37E50892A3AFDDBF6335", "State": Null, "PropertySources": [{"Name": "https://gitee.com/zxuqian/spring-cloud-config-remote/web-lient.yml", "source": {"Message": "Ce message provient du référentiel de configuration distante", "Management.endpoids.web.expose.include": "*", "Testword": "12345678"}}Vous verrez que le test décrypté.Password est 12345678.
Résumer
Ce qui précède est la méthode d'utilisation du cryptage symétrique pour les fichiers de configuration de Cloud Spring vous introduits par l'éditeur. J'espère que cela vous sera utile. Si vous avez des questions, veuillez me laisser un message et l'éditeur vous répondra à temps. Merci beaucoup pour votre soutien au site Web Wulin.com!