配置加解密

最近更新时间:2021-09-13 16:24:37

查看PDF

操作场景

KMSE(微服务引擎)使用jasypt库来对配置进行加解密。

前提条件

向工程中添加依赖,在pom.xml中添加以下依赖:

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

kmse默认使用RSA进行加解密,用户从服务开发中下载工程模板中会随机生成一对RSA公私钥对,存放在resources目录下(public_key.pem/private_key.pem)。


bootstrap.properties默认配置如下:

jasypt.encryptor.privateKeyFormat=PEM
jasypt.encryptor.private-key-location= classpath:private_key.pem

密文内容被"ENC(xxx)"包裹,其中xxx为密文。

明文内容被"DEC(xxx)"包裹,其中xxx为明文。

配置加密

例如正常配置为:

password: 123456

需要加密可写为:

password: DEC(123456)

  1. 控制台使用

    在配置框中填入配置,对需要加密的内容使用"DEC()"包裹,如下对password内容需要加密。

1.png

输入公钥后点击加密按钮,获得加密后的配置。

2.png

将加密后的配置进行保存。

  1. 本地使用

    本地可用maven插件来进行加密。例如在application.properties中填写配置,修改maven插件命令参数,指定加密方式与公钥。
-Djasypt.encryptor.publicKeyFormat=PEM
-Djasypt.encryptor.public-key-string="-----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv3A/w4LHCGQtmVVVlOln 4ATHuJ4q3CqlzPq98a5xGc2IdPMwUspb6iloGCzq5Ef/OOdarkv7PWJjYolp49iK Sr/cBkCfcKzUu5QzsQoyYY+t8ZRoEp/OmZRwLUDnUn8SSm5KdMKjA+HjCpeRi1Tg SSQWazlTJmpUDQIIldFsMuCQknslBYUXZ9GvLaZMuub10XcmmJZJD1N55AHY5jjn pBBdiJOmWVti3UQmVM0g0IMEaZDgmCX1gImHCaG4eXT5neE6mLGtuQqCOZjjKLb6 ieO0p8jwVk9GYulnqmBzf5QuUSArDgeG1yahsXH2I8dtDGc7qzneB5sckEZ+Kh4F RwIDAQAB -----END PUBLIC KEY-----"

运行maven命令后得到密文如下:

password: ENC(q2D0fazeu1uLWht//lmrdwpQEcRX+TYzDTAeqGivFcyiZDTV9GYzEEfyUh1JYjt/PrLTkp+XSv3Aps1Xqwmzji8480Z7nIyXgS1IBKwIZekiRiIEHpOTPg2Hc9IuZqaJ4c1OR6jf1VTrkZ8yGRPxdB0Hvf9/UswtJlcm45roErARj81/cBqZttNssF1diSyHHUQcCLMYCi+4KVH6wVErLXmay5f9fEd08sYsI8owv+b7adgjHwFJH75ud+vD0CZIkRosfWmIL6j2k2FTswYHTRFMxrL7WhmgcKXuJvRJqtaOF7fPHhnV3tgsM/3nY0Y3CGL9vOJfeNGUHXRIFjIlKA==)

配置解密

用户可在控制台填入私钥对密文进行解密。

4.png

解密后

5.png

文档内容是否对您有帮助?

根本没帮助
文档较差
文档一般
文档不错
文档很好

在文档使用中是否遇到以下问题

内容不全,不深入
内容更新不及时
描述不清晰,比较混乱
系统或功能太复杂,缺乏足够的引导
内容冗长

更多建议

0/200

评价建议不能为空

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

问题反馈