InvalidKeyException: Illegal key size
2018-07-03 12:03
369 查看
java.security.InvalidKeyException: Illegal key size。
SecretKeySpec secretKeySpec = new SecretKeySpec(aesKey, "AES"); Cipher cipher = Cipher.getInstance("AES/CTR/NoPadding"); IvParameterSpec ips = createCtrIv(nonce); cipher.init(1, secretKeySpec, ips); //当代码运行到这一行时就报错了。爆出上面的异常
感到一脸懵逼,还好网络是万能的,百度一下,简单对比一下,就找到了解决方案。然后测试之后发现也是没有问题的。
异常原因:如果密钥大于128, 会抛出java.security.InvalidKeyException: Illegal key size 异常. 因为密钥长度是受限制的, java运行时环境读到的是受限的policy文件. 文件位于${java_home}/jre/lib/security, 这种限制是因为美国对软件出口的控制.
解决方案:去官方下载JCE无限制权限策略文件。
jdk 5: http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-java-plat-419418.html#jce_policy-1.5.0-oth-JPR
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
下载后解压,可以看到local_policy.jar和US_export_policy.jar以及readme.txt
如果安装了JRE,将两个jar文件放到%JRE_HOME%\lib\security目录下覆盖原来的文件
如果安装了JDK,还要将两个jar文件也放到%JDK_HOME%\jre\lib\security目录下覆盖原来文件。
然后DuangDuangDuangDuang,就ok了。
相关文章推荐
- java.security.InvalidKeyException: Illegal key size or default parameters
- Java学习-050-AES256 之 java.security.InvalidKeyException: Illegal key size or default parameters 解决方法
- 错误:java.security.InvalidKeyException: Illegal key size or default parameters解决方法
- Linux解决java.security.InvalidKeyException: Illegal key size or default parameters
- AES加密时抛出java.security.InvalidKeyException: Illegal key size or default parameter
- AES加密时抛出java.security.InvalidKeyException: Illegal key size or default parameters
- java.security.InvalidKeyException: Illegal key size
- java.security.InvalidKeyException: Illegal key size or default parameters
- AES加密java.security.InvalidKeyException: Illegal key size or default parameters
- AES加密时抛出 Illegal key size or default parameters
- Java企业微信开发_Exception_02_java.security.InvalidKeyException: Illegal key size
- SymmetricDS加密symmetric.properties中数据库密码产生"Illegal Key Size"错误
- java的安全异常Illegal key size or default parameters
- java中的AES 256算法遇到 Illegal key size or default parameters错的解决办法
- 微信公众号开发加密解密异常java.security.InvalidKeyException:illegal Key Size
- 接收微信消息解密时抛出异常:illegal Key Size
- java 6/7 加密解密 java.security.InvalidKeyException: Illegal key size
- illegal Key Size
- java中的AES 256算法遇到 Illegal key size or default parameters错的解决办法
- Java 报错 illegal Key Size