spring cloud 配置非对称加密

简介: 开源是一种态度,分享是一种精神!从发表springcloud到现在已经有一个星期的时间,很多朋友反映服务跑不起来,这里给大家详细的介绍一下配置中心的加解密,一个星期的时间,paas...

开源是一种态度,分享是一种精神!

从发表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

目录
相关文章
|
20小时前
|
监控 安全 Java
Spring cloud原理详解
Spring cloud原理详解
9 0
|
1天前
|
安全 Java 开发者
深入理解Spring Boot配置绑定及其实战应用
【4月更文挑战第10天】本文详细探讨了Spring Boot中配置绑定的核心概念,并结合实战示例,展示了如何在项目中有效地使用这些技术来管理和绑定配置属性。
8 1
|
1天前
|
安全 网络协议 应用服务中间件
一文读懂HTTPS⭐揭秘加密传输背后的原理与Nginx配置攻略
一文读懂HTTPS⭐揭秘加密传输背后的原理与Nginx配置攻略
|
2天前
|
XML SQL Java
SpringCloud 基础配置
SpringCloud 基础配置
9 0
|
2天前
|
Java Spring
Spring文件配置以及获取
Spring文件配置以及获取
10 0
|
5天前
|
消息中间件 负载均衡 Java
【Spring Cloud 初探幽】
【Spring Cloud 初探幽】
13 1
|
6天前
|
Java 开发者 微服务
Spring Cloud原理详解
【5月更文挑战第4天】Spring Cloud是Spring生态系统中的微服务框架,包含配置管理、服务发现、断路器、API网关等工具,简化分布式系统开发。核心组件如Eureka(服务发现)、Config Server(配置中心)、Ribbon(负载均衡)、Hystrix(断路器)、Zuul(API网关)等。本文讨论了Spring Cloud的基本概念、核心组件、常见问题及解决策略,并提供代码示例,帮助开发者更好地理解和实践微服务架构。此外,还涵盖了服务通信方式、安全性、性能优化、自动化部署、服务网格和无服务器架构的融合等话题,揭示了微服务架构的未来趋势。
31 6
|
9天前
|
Java 微服务 Spring
Spring Boot中获取配置参数的几种方法
Spring Boot中获取配置参数的几种方法
20 2
|
11天前
|
JSON Java Apache
Spring Cloud Feign 使用Apache的HTTP Client替换Feign原生httpclient
Spring Cloud Feign 使用Apache的HTTP Client替换Feign原生httpclient