Spring Cloud Config配置中心实现非对称加密

一、使用Jdk生成JKS文件

# 使用Jdk自带的keytool生成jks文件
# Window系统下打开命令提示符执行以下命令,默认生成在当前命令提示符路径下
# Linux系统可使用SSH连接,然后执行以下命令,生成文件在当前目录下
keytool -genkeypair -alias config-server -keypass key-secret -storepass password -keystore config-server-dev.jks -keyalg RSA -dname "CN=hc,OU=Unit,O=org,L=City,ST=State,C=US"

其中:

  • -alias         指定密钥的别名(例如 config-server)。
  • -keyalg       指定密钥算法(这里使用RSA)。
  • -keystore   指定密钥库文件的名称和位置(例如 config-server-dev.jks)。
  • -keypass     是密钥的密码(例如 key-secret)。
  • -storepass 是密钥库的密码(例如 password)。

二、放置密钥库文件

        将生成的密钥库文件(例如 config-server-dev.jks)放置到Spring Cloud Config项目的资源目录(例如 src/main/resources)下或者 C:/config-server-dev.jks下

三、Spring Cloud Config 配置非对称加密

        在Spring Cloud Config的配置文件(通常是 bootstrap.yml 或 bootstrap.properties)中,配置encrypt.key-store属性以指向密钥库文件和相关参数。以下是一个YAML配置示例:

encrypt:
  # 加解密失败时,服务是否正常启动
  fail-on-error: false
  key-store:
    location: file:/c:/config-server-dev.jks
    alias: config-server
    secret: key-secret
    password: password

四、验证配置并做加密与解密

        启动Spring Cloud Config Server后,可以通过访问以下网址验证密钥库配置是否正确,在Window环境下,执行curl必须打开命令提示符执行,使用WindowPowerShell会报错。

1、验证状态:http://localhost:9999/encrypt/status,正确返回{"status":"OK"}

2、加密操作:curl http://localhost:9999/encrypt -d testEncrypt 

3、解密操作:curl http://localhost:9999/decrypt -d *****

五、配置中心配置文件使用密文

1、对使用密文的内容使用{cipher}+密文即可。

2、验证配置的密文是否能正常解密

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值