Spring cloud conf 配置中心 属性加解密
- springColud目录
对称加解密
1.首先要添加加解密的配置,即需要在JVM添加JCE扩展.
- 下载JCE 安装对应的java版本 :java8的版本
- \jdk1.8.0_161\jre\lib\security 路径下替换文件local_policy.jar, US_export_policy.jar
2.server端添加配置文件bootstrap.xml
- 若在application.yml添加配置,Spring Cloud Config版本的不同可能还是会出现{“description”:“No key was installed for encryption service”,“status”:“NO_KEY”}
启动服务,输入http://localhost:8888/encrypt/status如果返回\{“status”:“OK”\}则表示配置成功
encrypt:
key: spongebob #对称加密key
3.使用curl测试加密和解密
# 加密
curl -X POST http://localhost:8888/encrypt -d myname
# 解密
curl -X POST http://localhost:8888/decrypt -d b13bd23cc343caf584c5db6f34312bfb993590bf2a
4.配置文件中配置信息加密
在yml文件中,必须以英文半角单引号括起来加密值,前面加{cipher}
profile: ‘{cipher}38d04ae6719798079c4c0263fb375904c13fb2df7112ffca50ceb6a2e3063251’
在properties文件中, 不要加引号
profile={cipher}38d04ae6719798079c4c0263fb375904c13fb2df7112ffca50ceb6a2e3063251
非对称加解密
1.使用keytool生产证书
keytool -genkeypair 命令帮助
-alias
要处理的条目的别名
-keyalg密钥算法名称
-keysize密钥位大小
-sigalg签名算法名称
-destalias目标别名
-dname唯一判别名
-startdate证书有效期开始日期/时间
-extX.509 扩展
-validity有效天数
-keypass密钥口令
-keystore密钥库名称
-storepass密钥库口令
-storetype密钥库类型
-providername提供方名称
-providerclass提供方类名
-providerarg提供方参数
-providerpath提供方类路径
-v 详细输出
-protected 通过受保护的机制的口令使用keytool生成证书
keytool -genkeypair -alias mytestkey -keyalg RSA -dname “CN=Web Server,OU=Unit,O=Organization,L=City,S=State,C=US” -keypass spongebob -keystore server.jks -storepass sbstore
2.将生产的证书server.jks 放到resource下
3.在server端的bootstrap.xml添加配置
encrypt:
keyStore:
location: classpath:/server.jks
password: sbstore
alias: mytestkey
secret: spongebob
4.配置文件中配置信息加密
- 同对称加密的配置方式一致
还没有评论,来说两句吧...