Spring Cloud全解析:配置中心之springCloudConfig配置属性加密解密

加密解密

在项目中有些敏感的配置属性,如数据库用户名、密码等,都应该进行加密存储

需要下载jdk的JCE,下载之后放到JAVA_HOME下的lib中

对称加密

spring:
  datasource:
    username: root
    password: '{cipher}851a6effab6619f43135a714061f4602be0251b73b56b0451a7e268c880daea3'

加解密端点

  • 加密: curl $CONFIG_URL/encrypt-d想要加密的内容
  • 解密: curl $CONFIG_URL/decrypt-d 想要解密的密文

非对称加密

使用keytool来创建一个Key Store

>keytool -genkeypair -help
keytool -genkeypair [OPTION]...
 
生成密钥对
 
选项:
 
 -alias <alias>                  要处理的条目的别名
 -keyalg <keyalg>                密钥算法名称
 -keysize <keysize>              密钥位大小
 -sigalg <sigalg>                签名算法名称
 -destalias <destalias>          目标别名
 -dname <dname>                  唯一判别名
 -startdate <startdate>          证书有效期开始日期/时间
 -ext <value>                    X.509 扩展
 -validity <valDays>             有效天数
 -keypass <arg>                  密钥口令
 -keystore <keystore>            密钥库名称,指定密钥库的路径及名称,若密钥库不存在则创建。若不指定则默认在操作系统的用户目录下生成一个".keystore"的文件
 -storepass <arg>                密钥库口令
 -storetype <storetype>          密钥库类型,如果不指定,默认是JKS
 -providername <providername>    提供方名称
 -providerclass <providerclass>  提供方类名
 -providerarg <arg>              提供方参数
 -providerpath <pathlist>        提供方类路径
 -v                              详细输出
 -protected                      通过受保护的机制的口令
 
使用 "keytool -help" 获取所有可用命令
keytool -genkeypair -alias mytestkey -keyalg RSA -keystore server.jks -keypass keypass -storepass storepass

将生成的jks文件复制到classpath下

在bootstrap.yml中添加配置

encrypt:
  key-store:
    location: classpath:server.jks
    alias: mytestkey
    password: storepass
    secret: keypass

https://zhhll.icu/2022/框架/微服务/springcloud/配置中心/springCloudConfig/4.配置属性加密解密/


原文始发于微信公众号(bug生产基地):Spring Cloud全解析:配置中心之springCloudConfig配置属性加密解密

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/298648.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!