Spring Cloud配置中心内容加密

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 从配置获取的配置默认是明文的,有些像数据源这样的配置需要加密的话,需要对配置中心进行加密处理。下面使用对称性加密来加密配置,需要配置一个密钥,当然也可以使用RSA非对称性加密,但对称加密比较方便也够用了,这里就以对称加密来配置即可。

订阅专栏

从配置获取的配置默认是明文的,有些像数据源这样的配置需要加密的话,需要对配置中心进行加密处理。


下面使用对称性加密来加密配置,需要配置一个密钥,当然也可以使用RSA非对称性加密,但对称加密比较方便也够用了,这里就以对称加密来配置即可。


1、安装JCE

JDK下的JCR默认是有长度限制的,需要替换没有长度限制的JCE版本。


http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html


把下载包里面的两个jar文件复制替换到JAVA_HOME/jre/lib/security目录下。


2、添加加密KEY

配置中心配置文件中加入加密密钥。

encrypt: 
  key: 0e010e17-2529-4581-b907-c8edcfd6be09

3、查看加密功能状态

http://192.168.1.237:7100/encrypt/status

功能正常会显示OK

{"status":"OK"}

4、加密解密

develop字符串加密

curl http://192.168.1.237:7100/encrypt -d  develop -u config-user:99282424-5939-4b08-a40f-87b2cbc403f6

develop字符串解密

curl http://192.168.1.237:7100/decrypt -d  0fb593294187a31f35dea15e8bafaf77745328dcc20d6d6dd0dfa5ae753d6836 -u config-user:99282424-5939-4b08-a40f-87b2cbc403f6

-u username:password 为basic认证

5、配置文件

spring: 
  datasource: 
    username: '{cipher}0fb593294187a31f35dea15e8bafaf77745328dcc20d6d6dd0dfa5ae753d6836'

需要加密的内容以{cipher}开头,并注意要使节单引号包起来,不然报错。

6、读取配置

这样客户端读取出来的配置是自动解密了的,如果要关闭自动解密功能通过客户端自己来解密,同时也要保留加解密的端点可以通过关闭以下配置即可。

spring.cloud.config.server.encrypt.enabled=false
相关文章
|
4月前
|
Java 开发工具 git
实现基于Spring Cloud的配置中心
实现基于Spring Cloud的配置中心
|
4月前
|
安全 Java 数据安全/隐私保护
Spring Boot中的数据加密与解密
Spring Boot中的数据加密与解密
|
22天前
|
存储 安全 Java
|
3月前
|
jenkins 应用服务中间件 持续交付
如何配置 Nginx 作为 Jenkins 的反向代理并启用 SSL 加密
如何配置 Nginx 作为 Jenkins 的反向代理并启用 SSL 加密
189 8
|
3月前
|
JSON 算法 API
【Azure API 管理】APIM 配置Validate-JWT策略,验证RS256非对称(公钥/私钥)加密的Token
【Azure API 管理】APIM 配置Validate-JWT策略,验证RS256非对称(公钥/私钥)加密的Token
|
3月前
|
安全 Nacos 数据安全/隐私保护
【技术干货】破解Nacos安全隐患:连接用户名与密码明文传输!掌握HTTPS、JWT与OAuth2.0加密秘籍,打造坚不可摧的微服务注册与配置中心!从原理到实践,全方位解析如何构建安全防护体系,让您从此告别数据泄露风险!
【8月更文挑战第15天】Nacos是一款广受好评的微服务注册与配置中心,但其连接用户名和密码的明文传输成为安全隐患。本文探讨加密策略提升安全性。首先介绍明文传输风险,随后对比三种加密方案:HTTPS简化数据保护;JWT令牌减少凭证传输,适配分布式环境;OAuth2.0增强安全,支持多授权模式。每种方案各有千秋,开发者需根据具体需求选择最佳实践,确保服务安全稳定运行。
312 0
|
4月前
|
编解码 安全 Java
如何在Spring Boot中实现数据加密
如何在Spring Boot中实现数据加密
|
4月前
|
存储 安全 Java
Spring Boot中的配置文件加密
Spring Boot中的配置文件加密
|
4月前
|
Java 开发工具 数据安全/隐私保护
深入理解Spring Cloud中的配置中心
深入理解Spring Cloud中的配置中心
|
5月前
|
安全 Java 数据安全/隐私保护
Spring Boot中的数据加密与解密
Spring Boot中的数据加密与解密