從配置獲取的配置默認是明文的,有些像數據源這樣的配置需要加密的話,需要對配置中心進行加密處理。
下面使用對稱性加密來加密配置,需要配置一個密鑰,當然也可以使用RSA非對稱性加密,但對稱加密比較方便也夠用了,這里就以對稱加密來配置即可。
1、安裝JCE
JDK下的JCR默認是有長度限制的,需要替換沒有長度限制的JCE版本。
http://www.oracle.com/technet...
把下載包里面的兩個jar文件復制替換到JAVA_HOME/jre/lib/security目錄下。
2、添加加密KEY
配置中心配置文件中加入加密密鑰。
encrypt: key: 0e010e17-2529-4581-b907-c8edcfd6be09
3、查看加密功能狀態
http://192.168.1.237:7100/encrypt/status
功能正常會顯示OK
{"status":"OK"}
4、加密解密
對develop字符串加密
curl http://192.168.1.237:7100/encrypt -d develop -u config-user:99282424-5939-4b08-a40f-87b2cbc403f6
對develop字符串解密
curl http://192.168.1.237:7100/decrypt -d 0fb593294187a31f35dea15e8bafaf77745328dcc20d6d6dd0dfa5ae753d6836 -u config-user:99282424-5939-4b08-a40f-87b2cbc403f6-u username:password 為basic認證
5、配置文件
spring: datasource: username: '{cipher}0fb593294187a31f35dea15e8bafaf77745328dcc20d6d6dd0dfa5ae753d6836'
需要加密的內容以{cipher}
開頭,并注意要使節單引號包起來,不然報錯。
6、讀取配置
這樣客戶端讀取出來的配置是自動解密了的,如果要關閉自動解密功能通過客戶端自己來解密,同時也要保留加解密的端點可以通過關閉以下配置即可。
spring.cloud.config.server.encrypt.enabled=false
總結
以上所述是小編給大家介紹的Spring Cloud 配置中心內容加密的配置方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!
新聞熱點
疑難解答
圖片精選