云配置服务器不解密值

Cloud Config Server doesn't decrypt values

我正在尝试让我的 Spring 云配置服务器处理加密值,但到目前为止收效甚微。

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

@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 注释。

在配置服务器端,我有密钥库、无限强度的 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} 标签的加密值。当我将标记后的值更改为无法解密的值时,没有错误,配置中也没有 "invalid" 值,如文档中所述。配置服务器的日志文件非常安静且没有定论。 当我使用浏览器从配置服务器查询配置时,我也看到了相同的标签剥离值。

我正在使用 Cloud Config Server 1.4。0.RELEASE

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