溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何實(shí)現(xiàn)JHipster Registry配置信息加密

發(fā)布時(shí)間:2021-10-13 11:41:16 來(lái)源:億速云 閱讀:124 作者:iii 欄目:編程語(yǔ)言

這篇文章主要講解了“如何實(shí)現(xiàn)JHipster Registry配置信息加密”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“如何實(shí)現(xiàn)JHipster Registry配置信息加密”吧!

1 整體規(guī)劃

1.1 名詞說(shuō)明

名詞說(shuō)明備注
對(duì)稱加密最快速、最簡(jiǎn)單的一種加密方式,加密(encryption)與解密(decryption)用的是同樣的密鑰(secret key)。直接在bootstrap.yml文件中設(shè)置好key
非對(duì)稱加密非對(duì)稱加密使用了一對(duì)密鑰,公鑰(public key)和私鑰(private key)。私鑰只能由一方安全保管,不能外泄,而公鑰則可以發(fā)給任何請(qǐng)求它的人。需要通過(guò)keytool工具生成密鑰對(duì),并放置在Jhipster-Registry的類路徑下。

1.2 相關(guān)組件

組件名說(shuō)明版本
Jhipster-Registry基于eureka和spring cloud config的基礎(chǔ)服務(wù)。v3.2.4
myClient一個(gè)客戶端服務(wù),用于測(cè)試加解密效果。1.0
GitLab配置庫(kù)Jhipster-Registry引用的GitLab倉(cāng)庫(kù)。所有的配置文件所在地。 

2 JhipsterRegistry設(shè)置

2.1 對(duì)稱加密設(shè)置

a) 修改bootstrap.yml

spring:cloud:config:server:encrypt:enabled: true   # 開(kāi)啟加解密endpoint
 # 設(shè)置對(duì)稱密鑰encrypt:key: changeit

b) 構(gòu)建并重新啟動(dòng)JhipsterRegistry服務(wù)

2.2 非對(duì)稱加密設(shè)置

a) 生成密鑰對(duì)

$ 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放到j(luò)hipster-registry的src/main/resources目錄下

c) 修改bootstrap.yml

spring:cloud:config:server:encrypt:enabled: true     # 開(kāi)啟加解密endpointencrypt:keyStore:                  # 非對(duì)稱加密location: classpath:/config-server.jks   # jks文件的路徑password: changeit2                  # storepass,和生成密鑰時(shí)的參數(shù)值保持一致alias: configkey                          # alias,和生成密鑰時(shí)的參數(shù)值保持一致secret: changeit1                       # keypass,和生成密鑰時(shí)的參數(shù)值保持一致

d) 構(gòu)建并重新啟動(dòng)JhipsterRegistry服務(wù)

3 測(cè)試效果

3.1 使用加解密功能

a) 通過(guò)UI使用加解密功能

http://yourdomain:8761/#/encryption

b) 通過(guò)命令行使用加解密功能

$ curl yourdomain:8761/encrypt -d <要加密的明文>$ curl yourdomain:8761/decrypt -d <想要解密的密文>

3.2 加密應(yīng)用的配置信息

a) 加密myClient的數(shù)據(jù)庫(kù)密碼的明文信息

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

b) 獲得數(shù)據(jù)庫(kù)密碼的密文信息

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

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

spring:datasource:username: rootpassword: '{cipher}188e937623c258e8ca180b798………………………a4eb20ff5ff3568cf'   # 注意yml文件中密文要放在單引號(hào)中

d) 上傳application-prod.yml到GitLab倉(cāng)庫(kù)

e) 通過(guò)jhipster-registry的管理頁(yè)面查看配置屬性password,驗(yàn)證值是否已經(jīng)解密:

http://yourdomain:8761/#/config

f) 重啟myClient,驗(yàn)證是否正確獲取password的值并連接到mysql數(shù)據(jù)庫(kù)。

感謝各位的閱讀,以上就是“如何實(shí)現(xiàn)JHipster Registry配置信息加密”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)如何實(shí)現(xiàn)JHipster Registry配置信息加密這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI