springcloud 配置信息实现加密与解密

配置的加密与解密

  • 1 安装JCE
            • 1.1 使用对称加密
            • 1.2 加密/解密端点
            • 1.3 非对称加密

1 安装JCE

(1)从Oracle 官方地址( h即://www.orac le.c om/technetwork/java/javase/downloads/jce8-
download-2133166.htn让,针对于JDK8 ,该地址有可能改变〉下载ICE 扩展包jce polic )吐.zip 。
(2)解压该压缩包,获取到两个jar 包: lo cal_poli cy .j ar 和US_export policy.jar 。
(3)打开JAVA_HOME/jre/lib/security 目录,并将该目录下的Iocal_policy .jar 和US_export

policy.jar 文件备份到其他目录。
(4)将第( 2 )步解压的JAR 文件复制到$JAVA HOME/jre/lib/secur ity 目录下。
这样, Spring Cloud Config 服务器就可以使用加/解密功能了。

1.1 使用对称加密

Spring Cloud Config中在配置文件( bootstrap.properties )中进行配置,如下面的配置加密key:
encrypt.key=123456
git文件配置
spring:
datasource:
username:dbuser
#这里是将数据库连接密码进行加密,注意力口密后的值必须使用单引号引起来
password :’{ cipher}d3d78da6450b6f0ea39deb9b6f2c9199ebda42‘

1.2 加密/解密端点

Spring Cloud Config 服务器提供了以下两个端点进行对配置项的加密和解密。

  1. • /encrypt :加密端点。使用该端点可以对所提供的字符串进行加密,这样就可以通
    过该端点来获取配置项加密后的字符串了。
  2. • /decrypt :解密端点。使用该端点可以对所要解密的字符串进行解密。

当使用Postman 调用加密端点时需要将HTTP 请求的方式设直为POST ,否则将
会得到一个没有任何响应的错误

1.3 非对称加密

要实现非对称加密,需要借助一个Java 工具一-Keytool 。 Keytool 是一个Java 数据证书的管理工具, Keytool 使用keystore 文件存储密钥和证书。
要完成非对称加密的配置, 首先需要借助Keytool 生成一个密钥对, 然后创建keystore
文件。
$ keytool - genkeypair - alias tsfjckey - keyalg RSA
一dname ” CN = SpringCloud Demo,OU=cd826dong , O=xohaa ,L=gz , S=gd , C=china”
-keypass javatwostepsfrom - keystore server. jks - storepass twostepsfromjava
然后将所生成的server.jks 文件复制到配置服务器的resources 目录下。
最后修改配置文件( bootstrap . properties/yml ) :
encrypt . key - store . location=server . jks
encrypt . key store . alias=tsfjckey
encrypt . key - store . password=twostepsfromjava
enc r ypt . ke y - store . secret=javatwostepsfrom

你可能感兴趣的:(SpringCloud)