首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >属性的Spring加密不适用于客户端。

属性的Spring加密不适用于客户端。
EN

Stack Overflow用户
提问于 2018-02-19 05:05:11
回答 1查看 3.2K关注 0票数 1

我有一个配置客户端和配置服务器的基本设置(与这里的教程- https://spring.io/guides/gs/centralized-configuration/完全一样)。

我的问题是,我可以解密服务器端的属性,并以纯文本的形式发送它们,但不能在客户端而不是服务器端解密属性。我使用的是对称加密,并且已经浏览了几次文档,但是无法在客户端获得解密。

我在服务器端添加了以下属性,因此它不会在服务器端解密属性-

代码语言:javascript
运行
复制
       spring.cloud.config.server.encrypt.enabled=false

我有一个有加密值的application.yml文件-

代码语言:javascript
运行
复制
       name: '{cipher}hdshdghsgdhjsgdhsgdyassudyadssd2313wdw2e'

我尝试在客户端添加ENCRYPT_KEY/encrypt.key作为环境变量,即系统属性。此外,还尝试在application.properties和bootstrap.properties中添加相同的内容,但客户端无法解密。

提前谢谢你。

配置客户端POM-

..

代码语言:javascript
运行
复制
<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>

.

在配置服务器中,我添加了以下属性-

代码语言:javascript
运行
复制
           spring.cloud.config.server.encrypt.enabled=false

在配置客户端,我在application.properties和bootstrap.properties中都添加了bootstrap.properties。

代码语言:javascript
运行
复制
           encrypt.key=abcd
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-25 05:25:14

所以,这就是解决问题的原因。我增加了以下财产-

代码语言:javascript
运行
复制
          spring.cloud.config.server.encrypt.enabled=false

在config服务器端的applicy.properties/yaml中。这是错误的。它需要

在bootstrap.properties/yaml中,而不是application.properties/yaml。

这可以显式地添加到文档中吗?

我确实看到在文档中提到了上面的属性,但没有提到应该添加的位置。

https://cloud.spring.io/spring-cloud-config/single/spring-cloud-config.html

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48859810

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档