SpringCloud不能加密
想必很多同学在体验SpringCloud的时候都遇到了无法加密的情况吧。本人也是在尝试了各种方法,终于解决了不能加密的问题。现分享出来,希望能帮助和我同样问题的人。
在配置中心搭建完成后,访问/encrypt/status接口,查看加密状态。
如果调用接口后台报错信息如下:
java.security.InvalidKeyException: Illegal key size需要安装JCE加密扩展。
根据不同的JDK版本下载对应的JCE,JCE8的下载页面:
http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html。下载解压后使用local_polocy.jar和US_export_policy.jar复制替换到{JDK_HOME}/jre/lib/security/目录。如果调用接口没有报错信息,且接口返回信息如下:
{ "description":"No key was installed for encryption service", "status":"NO_KEY" }这其实是由于没有读取到
encrypt.key,查看是否配置了该属性。而且encrypt.key属性配置到application.yml文件是不生效的,需要定义在bootstrap.yml文件中。部分版本的SpringCloud加密功能是有问题的。在网上翻阅资料的时候看到
Dalston.SR2和Dalston.SR3可能会出现无法加密的情况。
按照以上设置,如果加密可以使用,/encrypt/status接口将返回
{"status":"OK"}
使用POST发送一个加密请求,待加密文本通过Body以text/plain的格式发送到/encrypt接口

本文介绍了如何解决SpringCloud加密功能无法正常使用的问题,包括安装JCE加密扩展、正确配置encrypt.key属性以及解决特定版本的加密故障。
168万+

被折叠的 条评论
为什么被折叠?



