java - Cloud Config Server 不会解密值

标签 java spring-boot spring-cloud spring-cloud-config

我正在尝试让我的 Spring Cloud Config Server 处理加密值,但到目前为止收效甚微。

我创建了一个最小的应用程序,其中包含一个从配置中返回值的 Controller 。

@RestController
public class DemoController {

    private ConfigContainer config;

    @Autowired
    public DemoController(ConfigContainer config) {
        this.config = config;
    }

    @GetMapping(value = "/getdata")
    public String getData() {
        return config.getValue();
    }
}

ConfigContainer 通过 @Autowired 构造函数获取值,我在使用和不使用 @RefreshScope 注释的情况下尝试了此操作。

在配置服务器端,我有 keystore 、无限强度 JCE 和以下 bootstrap.yml

spring.cloud.config.server:
  git.uri: https://my-git.server/repo
  encrypt.enabled: true

encrypt:
  key-store:
    location: classpath:/server.jks
    password: password
    alias: alias
    secret: secretvalue

git 存储库包含一个带有值的 yml

value: '{cipher}AQCbwJFxL/ebeWYHhLhYM ... bj4CtHuo='

使用配置服务器的解密端点解密该值按预期工作,但是当我在演示应用程序中使用该值时,我只是获得了删除了 {cipher} 标记的加密值。当我将标签后面的值更改为无法解密的值时,配置中没有错误,也没有“无效”值,如文档中提到的。配置服务器的日志文件非常安静且非决定性的。 当我使用浏览器从配置服务器查询配置时,我也看到了相同的标记剥离值。

我使用的是 Cloud Config Server 1.4.0.RELEASE

最佳答案

按照评论中要求的快速入门,我得到了一个有效的快速入门。将其重新集成到应用程序中仅给出空白和注释更改以及工作应用程序...问题很可能是由以前版本的工件引起的...

关于java - Cloud Config Server 不会解密值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50580585/

相关文章:

java - Eclipse 中的 UIMA 示例不起作用

java - Epoch 迄今为止无法正常工作

java - Selenium 找不到定位器

Spring Cloud Config Server - 使用 2FA 连接到 Github 帐户

java - 访问服务器端口@Value ("${local.server.port}")不起作用

java - 异常处理标准

java - 如何将hibernate映射到JSP View ?

java - Spring Boot Autowiring 空指针异常

java - 如何通过动态创建spring bean的行为使@ConditionalOnMissingBean工作(例如: beanfactory register)

apache-kafka - 如何忽略从同一主题读取和写入不同事件类型的 Kafka Streams 应用程序中的某些类型的消息