jasypt-spring-boot-starter:密码不是ascii

时间:2019-07-05 06:27:05

标签: spring-boot jasypt

我开始在具有Maven依赖项的spring-boot中使用Jasypt:

<dependency>
    <groupId>com.github.ulisesbocchio</groupId>
    <artifactId>jasypt-spring-boot-starter</artifactId>
    <version>2.1.1</version>
</dependency>

我的spring-boot入门类具有以下注释:

@EnableEncryptableProperties
@PropertySource(name="EncryptedProperties", value = "classpath:application.properties")

我这样加密我的密码:

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上却不能。

1 个答案:

答案 0 :(得分:0)

必须安装Java密码术扩展(JCE)。请检查您是否在Linux中具有该功能。