Я начал использовать Jasypt в весенней загрузке с зависимостью maven:
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>2.1.1</version>
</dependency>
Мой начальный класс весенней загрузки имеет следующие аннотации:
@EnableEncryptableProperties
@PropertySource(name="EncryptedProperties", value = "classpath:application.properties")
Я зашифровал свой пароль, какthis:
java -cp jasypt-1.9.4.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input=password
password=mySecret algorithm=PBEWithMD5AndDES
и добавил подобное свойство в мое application.properties:
server.ssl.key-store-password: ENC(jasyptEncString)
При запуске у меня есть аргумент командной строки:
--jasypt.encryptor.password=mySecret
Но происходит сбой с:
Не удалось связать свойства из 'server.ssl.key-store-password' с java.lang.String: Причина: Пароль не ASCII
Пароль, который я проверял, он содержит только символы ASCII.
Если я добавлю этот аргумент (который фактически является значением по умолчанию): --jasypt.encryptor.algorithm=PBEWithMD5AndDES
Я получаю:
SecretKeyFactory недоступен
Та же самая конфигурация и код работают нормально на машине с Windows, но не на RHEL Linux.