Java实现AES加密,异常java.security.InvalidKeyException: Illegal key size 的解决

Java实现AES加密,抛出异常如下:

java.security.InvalidKeyException: Illegal key size

代码参考 http://my.oschina.net/Jacker/blog/86383?fromerr=x3l5xL1a

原因:

Illegal key size or default parameters 是指密钥长度受限制,

java运行时环境读到的是受限的policy文件。

policy文件位于${java_home}/jre/lib/security 目录下。

这种限制是因为美国对软件出口的控制。

解决办法:

去除该限制只需下载 Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files,

覆盖上述目录下的对应jar文件(local_policy.jar, US_export_policy.jar)即可。

下载地址:

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

下载包的readme.txt 有安装说明,即替换

${jdk_home}/jre/lib/security

${jre_home}/lib/security

目录下的 local_policy.jar 和 US_export_policy.jar 文件。

参考 http://stackoverflow.com/questions/6481627/java-security-illegal-key-size-or-default-parameters

原文地址:https://www.cnblogs.com/smail-bao/p/8303784.html

时间: 2024-10-11 00:39:09

Java实现AES加密,异常java.security.InvalidKeyException: Illegal key size 的解决的相关文章

AES加密时抛出java.security.InvalidKeyException: Illegal key size or default parametersIllegal key size or default parameters

使用AES加密时,当密钥大于128时,代码会抛出java.security.InvalidKeyException: Illegal key size or default parameters Illegal key size or default parameters是指密钥长度是受限制的,java运行时环境读到的是受限的policy文件.文件位于${java_home}/jre/lib/security 这种限制是因为美国对软件出口的控制. 解决办法: 去掉这种限制需要下载Java Cry

AES加密时抛出java.security.InvalidKeyException: Illegal key size or def

原文:AES加密时抛出java.security.InvalidKeyException: Illegal key size or def 使用AES加密时,当密钥大于128时,代码会抛出 java.security.InvalidKeyException: Illegal key size or default parameters Illegal key size or default parameters是指密钥长度是受限制的,java运行时环境读到的是受限的policy文件.文件位于${

异常: java.security.InvalidKeyException: Illegal key size

今天在做接口测试的时候遇到个异常: java.security.InvalidKeyException: Illegal key size. SecretKeySpec secretKeySpec = new SecretKeySpec(aesKey, "AES"); Cipher cipher = Cipher.getInstance("AES/CTR/NoPadding"); IvParameterSpec ips = createCtrIv(nonce); c

JAVA - Blowfish加密出现java.security.InvalidKeyException: Illegal key size 解决方案

最近用java进行一个blowfish的加密算法,但是在我们的eclipse上报出Illegal key size的错误.google后发现原因是:ymmetricDS加密symmetric.properties中数据库密码产生"Illegal Key Size"错误 根据symmetricDS的guide文档,想要加密symmetric.properties中的db.password,需要跑以下命令: sym -p E:\someplace\symmetric.properties

java.security.InvalidKeyException:illegal Key Size

现象 使用了weixin-java-tools包对接微信企业号,在激活回调URL时就发生异常,AES加密失败,报java.security.InvalidKeyException:illegal Key Size,当密钥大于128位时报此错误. 解决方案 到Oracle官网下载JCE无限制权限策略文件(注意对应版本),下载后解压,可以看到local_policy.jar和US_export_policy.jar以及readme.txt.如果安装了JRE, 将两个jar文件放到%JRE_HOME%

Java学习-050-AES256 之 java.security.InvalidKeyException: Illegal key size or default parameters 解决方法

在进行 Java AES 加密测试时,出现如下错误信息: java.security.InvalidKeyException: Illegal key size or default parameters at javax.crypto.Cipher.checkCryptoPerm(Cipher.java:1026) at javax.crypto.Cipher.implInit(Cipher.java:801) at javax.crypto.Cipher.chooseProvider(Cip

java.security.InvalidKeyException: Illegal key size or default parameters

做CA认证 生成证书时候出错,后来发现是 秘钥长度太长了,怎么会有这个问题呢,看下面的: 参考网址 : http://open.eucalyptus.com/forum/illegal-key-size http://ksgimi.iteye.com/blog/1584716 异常: EjbcaException_Exception: exception encrypting data - java.security.InvalidKeyException: Illegal key size 分

Tomcat启动报java.security.InvalidKeyException:illegal Key Size

背景: 最近在搭建公司的一个服务,需要用到tomcat,可以启动tomcat之后,日志总是报错. java.security.InvalidKeyException:illegal Key Size. 查了一下,这是一个java加解密的问题. 我按照网上的方法,下载了JCE_policy文件,放上去之后还是报这样的错误. 注意: 因为安装的JDK版本不一样所造成的,JCE_policy版本要跟JDK版本匹配. 网上说到的都是JDK1.6版本.我安装的是JDK1.7版本. 这是因为用到了jdk s

抛出java.security.InvalidKeyException: Illegal key size

使用FlexiEC的Provider来做ECIES加密时,发现IESParameterSpec在配置完参数后,代码会抛出java.security.InvalidKeyException: Illegal key size, 感觉应该是JCE的问题,于是查关于JCE的资料发现:Illegal key size or default parameters是指密钥长度是受限制的,java运行时环境读到的是受限的policy文件.文件位于${java_home}/jre/lib/security 这种