java - Cloud Config Server 不解密值
问题描述
我试图让我的 Spring Cloud Config Server 处理加密值,但到目前为止收效甚微。
我创建了一个最小的应用程序,其中包含一个从配置中返回值的控制器。
@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} 标记的加密值。当我将标记后的值更改为无法解密的值时,配置中没有错误,也没有文档中提到的“无效”值。配置服务器的日志文件非常安静且不确定。当我使用浏览器从配置服务器查询配置时,我也看到了相同的标签剥离值。
我正在使用 Cloud Config Server 1.4.0.RELEASE
解决方案
执行评论中要求的快速入门,我得到了一个有效的快速入门。将其重新集成到应用程序中只给出了空白和注释更改以及一个工作应用程序......这个问题很可能是由以前版本的工件引起的......
推荐阅读
- python - 使用 bitnami 镜像在 Docker 上运行 Spark
- node.js - Node js,如何隐藏托管管理器的密钥
- java - 即使经过 SafetyNet 检查,电话身份验证仍然无法正常工作
- python - Numpy - 从二维数组中选择多个正方形
- java - DynamoDB QueryResultPage 仍然在伪造的独占开始键上返回结果
- c++ - QT:将 CSS 类分配给一些小部件
- docker - 无法从容器访问保管库
- c# - 通过 C# 中的程序 API 类创建新类(不被识别为程序的模型对象)
- google-apps-script - 删除 postMessage.. 来自意外窗口
- r - 计算 2 个数据帧中变量之间的相关性