spring cloud 配置非對稱加密

開源是一種態度,分享是一種精神!

從發表springcloud到現在已經有一個星期的時間,很多朋友反映服務跑不起來,這裏給大家詳細的介紹一下配置中心的加解密,一個星期的時間,paascloud加了500+的星星,上了github本週加星榜,同時也使筆者有了堅持下去的力量,這裏謝謝的大家的支持

這裏寫圖片描述

配置JDK的JCE

下載

http://download.oracle.com/otn-pub/java/jce/8/jce_policy-8.zip

jdk最好使用jdk8後期的版本,建議使用144以後的版本

配置

我們需要將這裏的兩個jar包拷貝到我們的jdk安裝目錄下,我的是%JAVA_HOME%\jre\lib\security,覆蓋該目錄下原有的文件,切記是jdk的jre目錄

jdk中自帶的keytool工具生成密鑰文件

keytool -genkeypair -alias paascloud-key-store -keyalg RSA -keypass paascloud-keypass -keystore server.jks -storepass paascloud-storepass

這裏寫圖片描述

最後會生成一個文件server.jks 使用這個文件替換paascloud-master中配置中心的server.jks的文件
這裏寫圖片描述

然後配置文件修改

encrypt:
 key-store:
   location: classpath:/server.jks
   password: paascloud-storepass
   alias: paascloud-key-store
   secret: paascloud-keypass

到此 我們配置環節就做好了,下面給大家介紹一下具體使用

使用

這裏說明一下,根據筆者經驗如果配置中心使用了加密,類似這樣

spring:
  cloud:
    config:
      uri: http://admin:admin@paascloud-discovery:8080/
      label: master
      profile: ${spring.profiles.active:dev}
      ignoredInterfaces:
        - docker0
        - veth.*
        - VM.*

那麼在使用jce做加密的時候往往會有未知的異常,所以這裏爲了給大家演示使用這裏新起一個paascloud-example項目,找到模塊paascloud-example-encrypt

啓動項目

paascloud-encrypt-eureka
paascloud-encrypt-discovery

加解密操作

加密

 λ curl -X POST http://localhost:8080/encrypt -d 7010

加密結果

AQAznUNC91gEsaaejlN8kYfBbB66l/gbONnDP2IJz9yt+5wxc8cJDkIVsvtdyVVAen2+3t5iVe4IhhQB2PWr5vARdHi1CkeufFIwKVXESXzONwpbO4kh1+WhDuD/dfHKYZWKlrucUTbT1tNyxKBHaoopIDPkKKfyqLWMnhap9YKygMyp40pEEWMmG86Fb05gn8E5mq0cSpW9vVuybHTlh701k4/Zq8soRwqX8kXc5+oH05DIoTReKTByuK82MnMF9+a+MGf/qKZgChAgWTHQVuz2yMhWySvbWEKkNjNJ3r3LdWJG844Ka0dYKSTMEGdOw4ls+p0TLw5mdMPuJDd/uuduBE+mdf7BF+EAGfyCjzF3heEqVrXUnU8kVTUnFUf4QvM=

解密

λ curl localhost:8080/decrypt -d AQAoax6LyiCDqHuPuWTp95iDvPbBq5lJx2SGd1cxgMeJ2QvSpUNX2XKzd9gRzG7q40/fcN9K6wmTWzlQKLhHsuTn eYOTD79pEHIeKyp5GHIhvQXopO97Hu/E4cfkS8uH6oug6w5MmLZvOW1uRe2EBTroyk2k1HtrTOv9z0FPDxXhEe+5QcyAR/ArKwsZ4axPDXjv4pFEg6R9h/H4xG0hQJ9MPhDDzn1+Swmnerjnjfel6oSQ9vDC6WG9HwT527hIG74IWXIKd/JPqCE5XvcTilf9P3prcanDT2peKdatdlYGruXBva7pZmUUuov4TiKs4Yrqzl7JAO/4GtQhm16kuAbTBbevkv4HwVlPLeMgXy/EoSC9VHTDn635qiBObg3Cgis=

解密結果

7010

這裏寫圖片描述

yml使用

rabbitmq:
    host:  paascloud-mq-rabbit
    port: 5672
    username: '{cipher}你的密文'
    password: '{cipher}你的密文'

示例代碼

https://github.com/paascloud/paascloud-example

我的開源項目

githubhttps://github.com/paascloud/paascloud-master
碼雲https://gitee.com/paascloud/paascloud-master

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章