为spring-cloud-config服务器配置ssl密钥
问题描述:
我想为spring-cloud-config服务器设置server.ssl.key-store-password,配置将来自GIT(application.yml)。为spring-cloud-config服务器配置ssl密钥
下面是我想在application.yml
server:
port: 8760
ssl:
key-store: path to .jks
key-store-password: '{cipher}encrypted password'
key-store-type: jks
key-password: '{cipher}encrypted password'
配置虽然自举其配置EncryptionBootstrapConfiguration与TextEncryptor FailsafeTextEncryptor时解密函数被调用EnvironmentDecryptApplicationInitializer从而未能配置服务器的内容。
,我们怎么能有我们的自定义TextEncryptor为EncryptionBootstrapConfiguration,这样我可以使用{}密码启动时的配置,服务器
答
我得到这个错误。为了解决这个问题,我不得不将EncryptionConfiguration和TextEncryptor添加到spring.factory文件中。
我有3个文件:
的加密配置:
@Configuration
public class AESEncryptionConfiguration {
@Bean
EnvironmentDecryptApplicationInitializer environmentDecryptApplicationInitializer() {
return new EnvironmentDecryptApplicationInitializer(new AESTextEncryptor());
}
}
的TextEncryptor:
@Component
public class AESTextEncryptor implements TextEncryptor {
@Override
public String encrypt(String text) {
.
.
.
}
@Override
public String decrypt(String encryptedText) {
.
.
.
}
}
然后我不得不引用添加到这两个文件中/src/main/resources/META-INF/spring.factories
org.springframework.cloud.bootstrap.BootstrapConfiguration=com.rs.config.AESEncryptionConfiguration,com.common.encryption.AESTextEncryptor
通过这样做,我可以创建自定义密码。
你有没有想过这个?我现在面临完全相同的问题。 –