SpringCloud不能加密

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/chenxyz707/article/details/80487733

SpringCloud不能加密

想必很多同学在体验SpringCloud的时候都遇到了无法加密的情况吧。本人也是在尝试了各种方法,终于解决了不能加密的问题。现分享出来,希望能帮助和我同样问题的人。
在配置中心搭建完成后,访问/encrypt/status接口,查看加密状态。

  1. 如果调用接口后台报错信息如下:

    java.security.InvalidKeyException: Illegal key size

    需要安装JCE加密扩展。
    根据不同的JDK版本下载对应的JCE,JCE8的下载页面:
    http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html。下载解压后使用local_polocy.jarUS_export_policy.jar复制替换到{JDK_HOME}/jre/lib/security/目录。

  2. 如果调用接口没有报错信息,且接口返回信息如下:

    {
     "description":"No key was installed for encryption service",
     "status":"NO_KEY"
    }

    这其实是由于没有读取到encrypt.key,查看是否配置了该属性。而且encrypt.key属性配置到application.yml文件是不生效的,需要定义在bootstrap.yml文件中。

  3. 部分版本的SpringCloud加密功能是有问题的。在网上翻阅资料的时候看到Dalston.SR2Dalston.SR3可能会出现无法加密的情况。


按照以上设置,如果加密可以使用,/encrypt/status接口将返回

{"status":"OK"}

使用POST发送一个加密请求,待加密文本通过Body以text/plain的格式发送到/encrypt接口
加密请求

展开阅读全文

没有更多推荐了,返回首页