Spring Cloud Config - 属性解密在客户端不起作用
Spring Cloud Config- Decryption of properties is not working on Client Side
我有一个配置客户端和配置服务器的基本设置(与这里的教程完全一样 - https://spring.io/guides/gs/centralized-configuration/
我的问题是我可以解密服务器端的属性并将它们作为纯文本发送,但不能解密客户端而不是服务器端的属性。我正在使用对称加密,并且已经多次阅读文档但无法在客户端工作时进行解密。
我在服务器端添加了下面的属性,所以它不会在服务器端解密属性-
spring.cloud.config.server.encrypt.enabled=false
我有一个 application.yml 文件,它有一个加密值-
name: '{cipher}hdshdghsgdhjsgdhsgdyassudyadssd2313wdw2e'
我尝试在客户端添加 ENCRYPT_KEY/encrypt.key 作为环境变量,系统 属性。此外,已尝试在 application.properties 和 bootstrap.properties 中添加相同内容,但客户端无法解密。
提前谢谢你。
配置客户端 POM-
.......................
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
<version>1.4.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-client</artifactId>
</dependency>
<dependency>
<groupId>com.auth0</groupId>
<artifactId>java-jwt</artifactId>
<version>3.3.0</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Edgware.SR2</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
.......
在配置服务器中我添加了 属性-
spring.cloud.config.server.encrypt.enabled=false
在配置客户端,我在application.properties和bootstrap.properties中添加了encrypt.key。
encrypt.key=abcd
所以,这就是解决它的方法。我添加了以下 属性-
spring.cloud.config.server.encrypt.enabled=false
在应用程序中。properties/yaml 在配置服务器端。这是错误的。它需要
在 bootstrap.properties/yaml 而不是 application.properties/yaml.
可以将其明确添加到文档中吗?
我确实看到文档中提到了上面的 属性,但没有提到它应该添加到的位置。
https://cloud.spring.io/spring-cloud-config/single/spring-cloud-config.html
我有一个配置客户端和配置服务器的基本设置(与这里的教程完全一样 - https://spring.io/guides/gs/centralized-configuration/
我的问题是我可以解密服务器端的属性并将它们作为纯文本发送,但不能解密客户端而不是服务器端的属性。我正在使用对称加密,并且已经多次阅读文档但无法在客户端工作时进行解密。
我在服务器端添加了下面的属性,所以它不会在服务器端解密属性-
spring.cloud.config.server.encrypt.enabled=false
我有一个 application.yml 文件,它有一个加密值-
name: '{cipher}hdshdghsgdhjsgdhsgdyassudyadssd2313wdw2e'
我尝试在客户端添加 ENCRYPT_KEY/encrypt.key 作为环境变量,系统 属性。此外,已尝试在 application.properties 和 bootstrap.properties 中添加相同内容,但客户端无法解密。
提前谢谢你。
配置客户端 POM-
.......................
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
<version>1.4.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-client</artifactId>
</dependency>
<dependency>
<groupId>com.auth0</groupId>
<artifactId>java-jwt</artifactId>
<version>3.3.0</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Edgware.SR2</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
.......
在配置服务器中我添加了 属性-
spring.cloud.config.server.encrypt.enabled=false
在配置客户端,我在application.properties和bootstrap.properties中添加了encrypt.key。
encrypt.key=abcd
所以,这就是解决它的方法。我添加了以下 属性-
spring.cloud.config.server.encrypt.enabled=false
在应用程序中。properties/yaml 在配置服务器端。这是错误的。它需要
在 bootstrap.properties/yaml 而不是 application.properties/yaml.
可以将其明确添加到文档中吗?
我确实看到文档中提到了上面的 属性,但没有提到它应该添加到的位置。
https://cloud.spring.io/spring-cloud-config/single/spring-cloud-config.html