Saat client mengambil konfigurasi dari config service secara default semua data tidak terenkripsi. Sehingga data data credential seperti password dan lain lain dapat langsung diketahui apabila telah mendapatkan file konfigurasinya. Untuk mengurangi bocornya data ada baiknya data credential tersebut kita enkripsi.
Spring Cloud Config Server mensupport enkripsi dan dekripsi. Untuk menggunakannya ikuti langkah langkah berikut :
Download Java Criptography Enxtension (JCE)
Replace fIle konfigurasi telah ada pada desktop kita dengan file JCE yang telah di download
Konfigurasi encrypt key (resource/bootstrap.yml)
Java
Copy
encrypt: key: abcdef
​
Encrypt key akan menentukan hasil dari enkripsi dan kunci untuk mendekrip.
Konfig value yang terenkripsi agar tetap terenkripsi (resource/bootstrap.yml)
Java
Copy
spring: cloud: config: server: encrypt: enabled: false
​
Tambahkan encrypt key pada aplikasi client agar dapat mendekip value ()
Java
Copy
encypt: key: abcdef
​
Jalankan program
Untuk mengenkripsi, lakukan POST keΒ localhost:8080/encryptΒ dengan memasukkan data yang ingin di encrypt pada Body HTTP. Semisal kita ingin mengekripsi password dengan value ciazhar123. Maka masukkan password tersebut ke dalam Body HTTP, lalu POST. Dapat menggunakan curl untuk mempermudah :
Java
Copy
curl localhost:8080/encrypt -d value
​
Selanjutnya kita akan mendapatkan response berupa hasil enkripsi yang dapat kita gunakan untuk mereplace data kita dengan hasil enkripsi tersebut. Hasil enkripsi tersebut dapat dipasang dengan cara seperti ini :
Java
Copy
password : {cipher}1n1p455w0rd3nkr1ps1
​
Untuk mendekripsi, lakukan POST keΒ localhost:8080/decryptΒ dengan memasukkan data yang ingin di decrypt pada Body HTTP.Dapat menggunakan curl untuk mempermudah :
Java
Copy
curl localhost:8080/decrypt -d value
​