错误:java.security.InvalidKeyException: Illegal key size or default parameters解决方法

Java几乎各种常用加密算法都能找到对应的实现。因为美国的出口限制,Sun通过权限文件(local_policy.jar、US_export_policy.jar)做了相应限制。因此存在一些问题:

●密钥长度上不能满足需求(如:java.security.InvalidKeyException: Illegal key size or default parameters);

●部分算法未能支持,如MD4、SHA-224等算法;

●API使用起来还不是很方便;一些常用的进制转换辅助工具未能提供,如Base64编码转换、十六进制编码转换等工具。

Oracle在其官方网站上提供了无政策限制权限文件(Unlimited Strength Jurisdiction Policy Files),我们只需要将其部署在JRE环境中,就可以解决限制问题。

下载地址:

●Java 5.0 无政策限制文件

●Java 6 无政策限制文件

●Java 7 无政策限制文件

●其他版本 无政策限制文件

下载的压缩包中仅有一个目录,也就是jce目录。该目录中包含了4个文件:README.txt、COPYRIGHT.html、local_policy.jar和US_export_policy.jar。其中包含的两个jar文件正是此次配置中用到的文件。

我们可以查看上述README.txt文件,你需要在JDK的JRE环境中,或者是JRE环境中配置上述两个jar文件。

切换到%JDK_Home%\jre\lib\security目录下,对应覆盖local_policy.jar和US_export_policy.jar两个文件。同时,你可能有必要在%JRE_Home%\lib\security目录下,也需要对应覆盖这两个文件。

配置权限文件的最终目的是为了使应用在运行环境中获得相应的权限,可以加强应用的安全性。通常,我们在应用服务器上安装的是JRE,而不是JDK。因此,这就很有必要在应用服务器的%JRE_Home%\lib\security目录下,对应覆盖这两个权限文件。很多开发人员往往忽略了这一点,导致事故发生。

时间: 2024-08-02 02:46:25

错误:java.security.InvalidKeyException: Illegal key size or default parameters解决方法的相关文章

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 分

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

How to remove the key size restriction in Java JDK? Are you developing your beautiful application using the Java Cryptography Extension, and using a key length of more than 128 bits you encounter the following error? Caused by: java.security.InvalidK

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 - 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

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

现象 使用了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.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 这种