我配置了一个由本地Git repo支持的Spring云配置服务器,并创建了一个Spring引导应用程序来使用SCC的配置。配置文件
scc-client.yml
在Git中有两个纯文本属性和一个加密属性,
app.secret
app:
name: client-app
port: 8085
secret: '{cipher}AgCGh ... X3pTW'
解密在客户端完成:
bootstrap.properties
在SCC服务器上
spring.cloud.config.server.encrypt.enabled=false
bootstrap.yml
...
encrypt:
keystore:
location: classpath:keystore.p12
password: kspass
alias: client-key
secret: kspass
key: client-key
rsa:
strong: true
...
keystore.p12包含用于加密的密钥
应用程序机密
keytool -genkeypair -alias client-key -keyalg RSA -deststoretype pkcs12 -keystore src/main/resources/keystore.p12 -keysize 4096 -storepass kspass -keypass kspass
问题
在上面的设置中,Spring在客户端解密值时是否使用了混合RSA加密方法?
根据代码判断,一些与AES相关的组件正在
o.s.s.r.c.RsaSecretEncryptor.decrypt()
方法,但我不太确定这是否表示
hybrid encryption
使用自生AES密钥。