diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/ConfigServerMvcConfiguration.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/ConfigServerMvcConfiguration.java index 1e28e471..3531b0c8 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/ConfigServerMvcConfiguration.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/ConfigServerMvcConfiguration.java @@ -70,7 +70,7 @@ public class ConfigServerMvcConfiguration extends WebMvcConfigurerAdapter { return controller; } - private EnvironmentEncryptorEnvironmentRepository encrypted() { + private EnvironmentRepository encrypted() { EnvironmentEncryptorEnvironmentRepository encrypted = new EnvironmentEncryptorEnvironmentRepository( this.repository, this.environmentEncryptor); encrypted.setOverrides(this.server.getOverrides()); diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/EncryptionAutoConfiguration.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/EncryptionAutoConfiguration.java index b5342dd7..07d27f68 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/EncryptionAutoConfiguration.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/EncryptionAutoConfiguration.java @@ -27,12 +27,14 @@ import org.springframework.cloud.config.server.encryption.CipherEnvironmentEncry import org.springframework.cloud.config.server.encryption.EnvironmentEncryptor; import org.springframework.cloud.config.server.encryption.KeyStoreTextEncryptorLocator; import org.springframework.cloud.config.server.encryption.TextEncryptorLocator; +import org.springframework.cloud.context.encrypt.EncryptorFactory; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.crypto.encrypt.Encryptors; import org.springframework.security.crypto.encrypt.TextEncryptor; import org.springframework.security.rsa.crypto.KeyStoreKeyFactory; import org.springframework.security.rsa.crypto.RsaSecretEncryptor; +import org.springframework.util.StringUtils; /** * Auto configuration for text encryptors and environment encryptors (non-web stuff). @@ -45,13 +47,20 @@ import org.springframework.security.rsa.crypto.RsaSecretEncryptor; * */ @Configuration +@EnableConfigurationProperties(KeyProperties.class) public class EncryptionAutoConfiguration { @ConditionalOnMissingBean(TextEncryptor.class) protected static class DefaultTextEncryptorConfiguration { + @Autowired + private KeyProperties key; + @Bean public TextEncryptor nullTextEncryptor() { + if (StringUtils.hasText(this.key.getKey())) { + return new EncryptorFactory().create(this.key.getKey()); + } return Encryptors.noOpText(); }