`

java jce加密算法密钥长度限制解决方案

 
阅读更多

前段时间测试,需要与银行交互,在交互过程中使用到了,X.509证书。

由于生产环境与开发环境证书不同,遂为了测试生产是否联通,使用生产证书链接银行。

银行方面提供的证书加密算法:Provider是org.bouncycastle.jce.provider.BouncyCastleProvider

 

 

在加载证书时 会报如下错误:

java.io.IOException: exception decrypting data - java.security.InvalidKeyException: Illegal key size

at org.bouncycastle.jce.provider.JDKPKCS12KeyStore.cryptData(Unknown Source)

at org.bouncycastle.jce.provider.JDKPKCS12KeyStore.engineLoad(Unknown Source)

at java.security.KeyStore.load(KeyStore.java:1185)

 



 

 

经Google、百度后分析为jdk的加密组件限制密钥长度。

 

使用jdk官网提供的扩展包覆盖系统中jdk的jce包即可解决此问题

 

 

本人为jdk1.6所以下载1.6的jce扩展包

下载地址为:

http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-java-plat-419418.html#jce_policy-1.5.0-oth-JPR

 

 

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

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

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

Java Cryptography Extension (JCE) 1.2.2

Java Cryptography Extension (JCE) Documentation 1.2.2

 

 

将下载的jce包覆盖本地,本地路径为

%JAVA_HOME%\jre\lib\security我的为:D:\Program Files\Java\jdk1.6.0_30\jre\lib\security

 

 

local_policy.jar

US_export_policy.jar

 

 

重启服务后问题解决。

 

 

对比替换前后发现:后面的去掉了 长度限制

 


 

 

注:jdk 7+的jce unlimited Strength Jurisdiction Policy Files 需要在现行发布的版面上下载, 

http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html

jdk6一下的在这个地址下载

http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-java-plat-419418.html#jce_policy-1.5.0-oth-JPR

 

1.4、1.5、1.6各版本的jce无限制扩展包见附件:

 

 

 

参考地址:

 

http://www.oracle.com/technetwork/java/javase/downloads/index.html

 

http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-java-plat-419418.html#jce_policy-1.5.0-oth-JPR

 

http://http://www.bouncycastle.org/

 

http://87426628.blog.163.com/blog/static/606936182013104883902/

 

  • 大小: 111.8 KB
  • 大小: 40.9 KB
分享到:
评论

相关推荐

    JCE 加密、解密算法

    JCE 加密、解密算法

    jce 密钥限制

    jce 密钥限制,jce有密钥长度限制,下载替换后可以突破这个限制

    jce_policy-8 解决aes加解密 key长度限制jar包

    在使用aes加解密时,如果密钥大于128, 会抛出java.security.... 因为密钥长度是受限制的, java运行时环境读到的是受限的policy文件. 文件位于${java_home}/jre/lib/security, 这种限制是因为美国对软件出口的控制.

    jce加密解密

    (java加密解密)如何实现JCE接口的各种算法 jce加密解密 很好的资料 很详细

    jce(Java加密扩展)

    1、javax.crypto.Cipher 类提供加密和解密的功能,它构成了 Java Cryptography Extension (JCE) —— Java 加密扩展框架的核心。这些都是 Java JDK 原生的 API,不是第三方的。 2、Cipher 的 getInstance(String ...

    jce_policy-8.zip 开启JDK8对高强度加密算法支持

    由于默认JDK8是不能使用PBEWITHMD5ANDTRIPLEDES等高强度加密算法的, 需要把jce_policy-8.zip中的两个jar包拷贝到<JRE_HOME>\lib\security下面, 替换掉两个原有的同名文件,以开启对高强度加密算法支持

    Java_JCE(Java Cryptography Extension)

    JCE是java加密扩展包,由于美国出口限制规定,JCE对部分国家是限制出口的,致使其加密长度有所缩减,例如,DES算法因受到军事出口限制,目前仅提供56位的密钥长度,而实际安全要求至少要128位。对于出口限制,SUN...

    Java JCE 出口限制文件

    Java加密扩展的出口限制文件,包含JDK15、1.6、1.7、1.8各版本的文件。US_export_policy.jar local_policy.jar

    jce_policy-8 java jce

    JCE,Java Cryptography Extension 1.8, java jce8 java jce

    jce8-jce7.zip

    jdk8无政策限制权限文件,用于AES加密算法,AES加密扩展包因为某些国家的进口管制限制,Java发布的运行环境包中的加解密有一定的限制。比如默认不允许256位密钥的AES加解密,解决方法就是修改策略文件。 因为某些国家...

    jce_policy安装【java密码扩展无限制权限策略文件安装】.zip

    下载解压后,把jar文件上传到需要安装jce机器上JDK或JRE的security目录下,覆盖源文件即可。 JDK:将两个jar文件放到%JDK_HOME%\jre\lib\security下 JRE:将两个jar文件放到%JRE_HOME%\lib\security下 覆盖之前,...

    Java密码扩展的基础 JCE

    JAVA 加密 JCE Java密码扩展的基础 关于JCE的基础

    jce_policy-8.zip

    jce_policy-8,JCE(Java Cryptography Extension)是一组包,它们提供用于加密、密钥生成和协商以及 Message Authentication Code(MAC)算法的框架和实现。 它提供对对称、不对称、块和流密码的加密支持,它还支持...

    Java加密扩展的非限制JCE包

    包含JDK1.6和JDK1.7的不受限制的local_policy.jar和US_export_policy.jar

    jdk8加密使用的jce_policy-8替换原jar包

    jdk8加密使用的jce_policy-8替换原jar包

    Java JCE 8

    jdk8无政策限制权限文件,用于AES加密算法,AES加密扩展包因为某些国家的进口管制限制,Java发布的运行环境包中的加解密有一定的限制。比如默认不允许256位密钥的AES加解密,解决方法就是修改策略文件。 因为某些国家...

    Java常见加密技术全景展示_附Java代码实现

    113页资料全面体现JCE安全,加密算法,绝对有帮助。 如基本的单向加密算法: ● BASE64 严格地说,属于编码格式,而非加密算法 ● MD5(Message Digest algorithm 5,信息摘要算法) ● SHA(Secure Hash Algorithm...

    JCE(jce_policy-8).zip

    jce_policy-8,JCE(Java Cryptography Extension)是一组包,它们提供用于加密、密钥生成和协商以及 Message Authentication Code(MAC)算法的框架和实现。 它提供对对称、不对称、块和流密码的加密支持,它还...

    JDK8 JCE 支持256位加密

    JDK8 JCE 支持256位加密

    AES192、256位加密解密,jce7,jce8 jdk1.7,jdk1.8

    用于替换jdk里的两个jar,解决无法使用AES192、256位加密解密的问题 jce7,jce8

Global site tag (gtag.js) - Google Analytics