Vorwort
Wir werden Git verwenden, um die Konfigurationsdatei unseres Projekts zu speichern, aber es gibt immer einige sensible Daten in der Datei. Für diese sensiblen Daten müssen wir normalerweise verschlüsseln. Es gibt normalerweise zwei Verschlüsselungsmethoden zur Verschlüsselung, eine ist symmetrische Verschlüsselung und die andere ist eine asymmetrische Verschlüsselung. Die symmetrische Verschlüsselung ist einfach und bequem, aber die Sicherheit ist nicht so hoch wie asymmetrische Verschlüsselung. Eine asymmetrische Verschlüsselung erfordert, dass ein Zertifikat erzeugt wird, was relativ sicher ist. Aber denken Sie daran, dass es keine absolute Sicherheit gibt.
Konfigurieren Sie die Umgebung
Java8 JCE
Die Verschlüsselung und Entschlüsselung des Konfigurationsservers erfordert Abhängigkeit von der Java -Kryptographie -Erweiterung (JCE)
Installationsmethode: Sie können sich auf das Readme im Inneren verweisen. Es ist tatsächlich sehr einfach: Ersetzen Sie die beiden Gläser unter dem Verzeichnis /jre/lib/security unter jDK.
Konfigurationsserverkonfiguration
Symmetrische Verschlüsselungskonfigurationstest
Konfigurieren Sie in application.yml
verschlüsseln:
Schlüssel: '*** Schreiben Sie den Schlüssel hier ***' '
Testpost
Verschlüsselung:
curl http: // localhsot: 8080/Enrypt -d mysercet
Infolgedessen eine lange Liste von FDASFA2341SDFA134214 ...
Entschlüsselung:
curl http: // localhost: 8080/entschlüsseln -d fdasfa2341sdfa134214….
MyServet wird herauskommen
Kann Postman -Test verwenden
Asymmetrischer Verschlüsselungstest
Benötigen eine Schöpfungsbescheinigung
Führen Sie den Befehl unter CMD aus
keytool -genkeypair -alias myTestkey -keyalg rsa -dname "cn = web Server, OU = Einheit, O = Organisation, L = Stadt, S = Zustand, c = US -Keypass Changeme -keystroe Server.jks -Storepass LetMein1
Kopieren Sie die Datei server.jks in den Klassenpfad unter dem Projekt
Konfigurationsserverkonfiguration
Konfigurieren Sie in application.yml
ENCRYPT: KEY-STORE: Ort: Server.jks Passwort: letMein alias: myTestKey Secret: Changeme
Testpost
Verschlüsselung:
curl http: // localhsot: 8080/Enrypt -d mysercet
Infolgedessen eine lange Liste von FDASFA2341SDFA1,34214FDAFD2341 =….
Entschlüsselung:
curl http: // localhost: 8080/entschlüsseln -d fdasfa2341sdfa1,34214fdafd2341 =….
MyServet wird herauskommen
Kann Postman -Test verwenden
Speichern verschlüsselte Inhalte
Speichern Sie in {Cipher} CipheText
#Spring.DataSource.Password = {Cipher} 3B6E65AF8C10D2766DBA099A590496A18CFD816EF9190C983BB56249595AE3F0SPRING.DATASORCE.PASSWORD = {CI pher}AQCActlsAycDFYRsGHzZ8Jw2S6GO9oeqJSCcm//HenrqiuO7zSo3/vg9BeXL8xwiyIXtKcp2JN8hnrM4NTyyJDIjxhcCbJMjuGrrFJ2FdO5oJWmksymkP5EOXE6Mjg XVQHH/TC+06TMBQJ2XQECFCO3JBDPXCR88CI+VXE63XDIVGVAV9IYMCXLFXOCH31BBLK7J5FXJ8PPLUKGXWADGA5QFQMCGDUOFC0AQ+IABLUKGXWADGZWCHLWCH0AQ+IABLUKGXWADNWCHLFQC0AQ+IABLUKGXWADNWCHLFQC0AQ+IABLUKGXWADNWCHLWCHBQUFC0AQ+IABLUKGXWADNWCHLWCH0AQ+IABLUKGxwadnwchlnwchlnwchlnwchlwchlc0AQ+IAGS0Al Ae7qt6zasirfzezt+waop8ri1u+4cyctjnv1isdxwn5j1lhcsoiipvinx8kbsxhcmpczdg3bgrs1e/pzq8cjhmv7IRRS9BGR6K7WUYJUE4SO2ZUTMBZADE2NHB3WUYJU2ZUTMBZUTMBZADE5V2NHB3WUYJU2ZUS2ZUTMBZADE5V2NHB3WUYJU2ZUTMBZUTMBZADEZusammenfassen
Das obige ist die vom Editor eingeführte Spring Cloud -Konfigurationsdateiverschlüsselungsmethode. Ich hoffe, es wird Ihnen hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird Ihnen rechtzeitig antworten. Vielen Dank für Ihre Unterstützung auf der Wulin.com -Website!