如何实现JHipster Registry配置信息加密

发布时间:2021-10-13 11:41:16 作者:iii
来源:亿速云 阅读:117

这篇文章主要讲解了“如何实现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     # 开启加解密endpointencrypt: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: rootpassword: '{cipher}188e937623c258e8ca180b798………………………a4eb20ff5ff3568cf'   # 注意yml文件中密文要放在单引号中

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

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

http://yourdomain:8761/#/config

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

感谢各位的阅读,以上就是“如何实现JHipster Registry配置信息加密”的内容了,经过本文的学习后,相信大家对如何实现JHipster Registry配置信息加密这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

推荐阅读:
  1. php实现用户信息缓存的方法
  2. Docker私有仓库如何实现Registry部署

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

上一篇:shell编程基础知识有哪些

下一篇:Web前端开发小技巧有哪些

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》