jhipster 配置 mysql_JHipster技术栈定制 - JHipster Registry配置信息加密

本文说明了如何开启和使用JHipster-Registry的加解密功能。

1 整体规划

1.1 名词说明

名词

说明

备注

对称加密

最快速、最简单的一种加密方式,加密(encryption)与解密(decryption)用的是同样的密钥(secret key)。

直接在bootstrap.yml文件中设置好key

非对称加密

非对称加密使用了一对密钥,公钥(public key)和私钥(private key)。私钥只能由一方安全保管,不能外泄,而公钥则可以发给任何请求它的人。

需要通过keytool工具生成密钥对,并放置在Jhipster-Registry的类路径下。

1.2 相关组件

组件名

说明

版本

Jhipster-Registry

基于eureka和spring cloud config的基础服务。

v3.2.4

myClient

一个客户端服务,用于测试加解密效果。

1.0

GitLab配置库

Jhipster-Registry引用的GitLab仓库。所有的配置文件所在地。

2 JhipsterRegistry设置

2.1 对称加密设置

a)修改bootstrap.yml

spring:

cloud:

config:

server:

encrypt:

enabled: true # 开启加解密endpoint

# 设置对称密钥

encrypt:

key: changeit

b)构建并重新启动JhipsterRegistry服务

2.2 非对称加密设置

a) 生成密钥对

$ keytool -genkeypair -alias configkey -keyalg \

RSA -dname "C=CN,ST=GD,L=GZ,O=YOURCOMPANY,OU=YOURCOMPANY,CN=registry" \

-keypass changeit1 -storepass changeit2 -keystore config-server.jks

b) 将config-server.jks放到jhipster-registry的src/main/resources目录下

c) 修改bootstrap.yml

spring:

cloud:

config:

server:

encrypt:

enabled: true # 开启加解密endpoint

encrypt:

keyStore: # 非对称加密

location: classpath:/config-server.jks # jks文件的路径

password: changeit2 # storepass,和生成密钥时的参数值保持一致

alias: configkey # alias,和生成密钥时的参数值保持一致

secret: changeit1 # keypass,和生成密钥时的参数值保持一致

d) 构建并重新启动JhipsterRegistry服务

3 测试效果

3.1 使用加解密功能

a) 通过UI使用加解密功能

http://yourdomain:8761/#/encryption

b) 通过命令行使用加解密功能

$ curl yourdomain:8761/encrypt -d

$ curl yourdomain:8761/decrypt -d

3.2 加密应用的配置信息

a) 加密myClient的数据库密码的明文信息

$ curl yourdomain:8761/encrypt -d my-secret-pw

b) 获得数据库密码的密文信息

{cipher}188e937623c258e8ca180b798………………………a4eb20ff5ff3568cf

c) 保存密文到myClient的application-prod.yml

spring:

datasource:

username: root

password: '{cipher}188e937623c258e8ca180b798………………………a4eb20ff5ff3568cf'

# 注意yml文件中密文要放在单引号中

d) 上传application-prod.yml到GitLab仓库

e) 通过jhipster-registry的管理页面查看配置属性password,验证值是否已经解密:

http://yourdomain:8761/#/config

f) 重启myClient,验证是否正确获取password的值并连接到mysql数据库。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值