SpringCloud配置中心屬性加解密(對稱加解密)

SpringCloud配置中心屬性加解密(對稱加解密)


SpringCloud可以在本地進行預處理的解密,需要在JVM添加JCE擴展

1. 下載JCE 安裝對應的java版本

  1. 下載地址
  2. 下載後,將local_policy.jarUS_export_policy.jar分別放到
    C:\Java\jdk1.8\jdk1.8.0_45\jre\lib\security
    C:\Java\jdk1.8\jre1.8.0_45\lib\security
    兩個目錄下

local_policy.jarUS_export_policy.jar 加解密的策略文件

2. 使用keytool生產證書

2.1 keytool 是java 用於管理密鑰和證書的工具

其功能包括:

  1. 創建並管理密鑰
  2. 創建並管理證書
  3. 作爲CA 爲證書授權
  4. 導入導出證書

主要格式:

  1. keytool 採用 keystore 文件來存儲密鑰及證書,其中可包括私鑰、信任證書;
  2. keystore 文件主要使用 JKS格式(也可支持其他格式),帶密鑰存儲;其中私鑰的存儲也有獨立的密碼;

2.2 命令

具體可參照:數字證書中keytool命令使用說明

說明:命令中文部分可自行定義
例:
keytool -genkeypair -alias 實體別名(包括證書私鑰) -keyalg RSA -keysize 2048 -validity 3650 -dname “CN=Web Server,OU=Unit,O=Organization,L=City,S=State,C=US” -keypass 私鑰加解密密碼 -keystore 證書名稱.jks -storepass 文件存儲密碼

若不指定目錄,則生產的證書默認放在當前目錄

命令參數說明:
-alias: 實體別名(包括證書私鑰)
-keyalg: 指定密鑰的算法
-keysize: 指定密鑰長度
-validity: 指定創建的證書有效期多少天(默認爲90天)
-dname: 指定證書擁有者信息
-keypass: 指定別名條目的密碼
-keystore: 指定密鑰庫的名稱(就像數據庫一樣的證書庫,可以有很多個證書,cacerts這個文件是jre自帶的,也可以使用其它文件名字,如果沒有這個文件名字,它會創建這樣一個)
-storepass: 指定密鑰庫的密碼

3. 修改配置文件

將生產的證書***.jks 放到項目resource下,bootstrap.yml增加以下配置:

encrypt:
  key-store:
    location: ***.jks
    password: ***
    alias: ***
    secret: ***

4. 加密和解密

4.1 查詢KEY狀態

命令:
curl http://127.0.0.1:8080/encrypt/status
在這裏插入圖片描述

4.2 encrypt 加密

命令:
curl -X POST http://127.0.0.1:8080/encrypt -d KEY
在這裏插入圖片描述

4.3 decrypt 解密

命令:
curl -X POST http://127.0.0.1:8080/encrypt -d AQA1RbeAy…
在這裏插入圖片描述

5. 修改項目中原來使用的明文密碼

在這裏插入圖片描述
修改完成之後重啓項目即可

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章