• 本网豪情赞助商

  • login failed for display 0 ubuntuallowed_u
  • css设定文本超出一行或多行就隐藏并显示省略
  • css设定文本超出一行或多行就隐藏并显示省略
  • 微信小程序如何把接口调用成功的回调函数返回
  • CodeIgniter - 数据库的增删改查
  • php生成excel的三种方式
  • 小程序UI库推荐
  • 多个句子竖向排列
  • 美团,大众点评,58城市行政区域和商圈数据实
  • java.security.InvalidKeyException: Illega
  • h3>

    java.security.InvalidKeyException: Illegal key size。


    文章摘要: 异常: java.security.InvalidKeyException: Illegal key size 今天在做接口测试的时候遇到个异常: java.security.InvalidKeyException: Illegal key size。 SecretKeySpec secretKeySpec = new SecretKeySpec(aesKey, AES ); Cipher cipher = Cipher.getIn


    文章TAG:

    关于JDK8采坑JCE加密限制版本问题

     

    0.339 字数 375阅读 2,943

    JDK8的加密策略存在限制版本和无限制版本,随着越来越多的第三方工具只支持 JDK8,业务环境中,发现有些方法会报异常:
    1、使用AES加解密

    java.security.InvalidKeyException: Illegal key size
    

    2、安全性机制导致的访问https会报错:

    Received fatal alert: handshake_failure; nested exception is javax.net.ssl.SSLHandshakeException:
    Received fatal alert: handshake_failure,accessUrl
    

    这是因为某些国家的进口管制限制,JDK默认的加解密有一定的限制。
    比如默认不允许 256 位密钥的 AES 加解密,解决方法就下载官方JCE无限制强度加密策略文件,覆盖即可。
    官方网站提供了JCE无限制权限策略文件的下载:
    JDK6的下载地址:
    http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html

    JDK7的下载地址:
    http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html

    JDK8的下载地址:
    http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html

    但从Java 1.8.0_151和1.8.0_152开始,为JVM启用无限制强度管辖策略 有了一种新的更简单的方法。如果不启用此功能,则不能使用AES-256:
    在 jre/lib/security 文件夹中查找文件 java.security,现在用文本编辑器打开java.security,并找到定义java安全性属性crypto.policy的行,它可以有两个值limited或unlimited - 默认值是limited。将其设置为:

    crypto.policy=unlimited
    

    现在重新启动指向JVM的Java应用程序即可。