1

Я хочу установить server.ssl.key-store-password для сервера spring-cloud-config, и конфигурация будет получена из GIT (application.yml).Настройка ключей ssl для сервера spring-cloud-config

Ниже то, что я хотел бы настроить в 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 таким образом, что я могу использовать {} шифр при запуске конфигурации сервера-

ПЕРЕДАННЫХ https://stackoverflow.com/a/32047393/1946403

+0

Вы когда-нибудь это выясняли? Сейчас я сталкиваюсь с тем же вопросом. –

ответ

0

я получаю эту ошибку. Чтобы исправить это, мне пришлось добавить 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 

Сделав это, я смог создать пользовательские шифры.

Смежные вопросы