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

2 篇文章 0 订阅
2 篇文章 0 订阅

 

使用JDK编写加密和机密的程序时会抛出下面的信息:

写道
Caused by: java.security.InvalidKeyException: Illegal key size or default parameters
at javax.crypto.Cipher.a(DashoA13*..) ~[na:1.6]
at javax.crypto.Cipher.a(DashoA13*..) ~[na:1.6]
at javax.crypto.Cipher.a(DashoA13*..) ~[na:1.6]
at javax.crypto.Cipher.init(DashoA13*..) ~[na:1.6]
at javax.crypto.Cipher.init(DashoA13*..) ~[na:1.6]

 解决问题的原文:

写道
Most likely you don't have the unlimited strength file installed now.

You may need to download this file:

Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 6

Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 7 Download

Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 8 Download

Extract the jar files from the zip and save them in ${java.home}/jre/lib/security/.

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

 

下载许可文件的地址:注意自己JDK的版本

Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 6

Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 7 Download

Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 8 Download

 

产生上面问题的根本原因:是指密钥长度是受限制的,java运行时环境读到的是受限的policy文件。主要是因为JDK的厂商是美国企业。美国对加密和解密的算法和工具有严格的出口限制。

在中国你可以通过上面的链接下载许可文件,把里面的两个jar包:local_policy.jar 和 US_export_policy.jar 替换掉原来安装目录${java.home}/jre/lib/security/.

这样问题就解决了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值