Spring cloud conf 配置中心 属性加解密

目录


  • 待补

对称加解密


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 <alias>                  要处理的条目的别名
  -keyalg <keyalg>                密钥算法名称
  -keysize <keysize>              密钥位大小
  -sigalg <sigalg>                签名算法名称
  -destalias <destalias>          目标别名
  -dname <dname>                  唯一判别名
  -startdate <startdate>          证书有效期开始日期/时间
  -ext <value>                    X.509 扩展
  -validity <valDays>             有效天数
  -keypass <arg>                  密钥口令
  -keystore <keystore>            密钥库名称
  -storepass <arg>                密钥库口令
  -storetype <storetype>          密钥库类型
  -providername <providername>    提供方名称
  -providerclass <providerclass>  提供方类名
  -providerarg <arg>              提供方参数
  -providerpath <pathlist>        提供方类路径
  -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.配置文件中配置信息加密

  • 同对称加密的配置方式一致

猜你喜欢

转载自blog.csdn.net/u014296316/article/details/80881974