为了不暴露我的密钥库凭据(以明文形式),我有一个 bean 定义
@Bean
public KeyProperties keyProperties() throws MalformedURLException {
//snipped
return keyProperties;
}
就我的密钥库信用而言,这是可行的。加密端点有效,如果我在 git 的属性文件中有密码道具,它会正确解密它。
不幸的是,当我为 git spring.cloud.config.server.git.password={cipher}snipped 设置属性时,它会引发异常
原因:java.lang.UnsupportedOperationException:FailsafeTextEncryptor 没有解密。您是否正确配置了密钥库?在 org.springframework.cloud.bootstrap.TextEncryptorConfigBootstrapper$FailsafeTextEncryptor.decrypt(TextEncryptorConfigBootstrapper.java:162) 我猜是因为密钥库 bean 在那个时间点没有被初始化
有谁知道我如何为 git 端点配置一个 bean?
@Bean
public CredentialsProvider getCredentialsProvider() {
GitCredentialsProviderFactory gcp = new GitCredentialsProviderFactory();
CredentialsProvider cp = gcp.createFor("url","username","password",null,false);
return cp;
}
似乎不起作用。
谢谢