解决方案

Illegal key size 报错问题

2023-01-31 19:46:02 michael007js 146

Illegal key size

javax.crypto.Cipher.checkCryptoPerm(Cipher.java:1029)

javax.crypto.Cipher.implInit(Cipher.java:795)

javax.crypto.Cipher.chooseProvider(Cipher.java:854)

javax.crypto.Cipher.init(Cipher.java:1374)

javax.crypto.Cipher.init(Cipher.java:1308)

com.focustech.common.codec.encrypter.AES256Encrypter.cipher(AES256Encrypter.java:37)

com.focustech.common.codec.encrypter.AES256Encrypter.encrypt(AES256Encrypter.java:45)


异常原因:如果密钥大于128, 会抛出java.security.InvalidKeyException: Illegal key size 异常. 因为密钥长度是受限制的, java运行时环境读到的是受限的policy文件. 文件位于${java_home}/jre/lib/security, 这种限制是因为美国对软件出口的控制.


解决办法也很简单:

将下面链接中的jar包下载下来,替换jdk 与jre下两个jar包:local_policy.jar和 US_export_policy.jar即可。

jdk对应jar包的路径:D:\Java\jdk1.7.0_25\jre\lib\security

jre对应jar包的路径:D:\Java\jre7\lib\security


记得备份



点我下载




首页
关于博主
我的博客
搜索