java.security.InvalidKeyException: Illegal key size
今天遇到一个奇怪的问题。
自己做的加签验签功能已经没有问题了,本地测试通过,同事放到服务器上测试也没问题。
然后我将包放到自己搭建的环境上,会报这样一个错误:
java.security.InvalidKeyException: Illegal key size
然后就各种百度。
原来是jdk不兼容的问题,我本地以及同事的测试环境都是jdk1.7,而我搭建的环境用的是jdk1.8
解决方案如下:
处理办法: 在官方网站下载JCE无限制权限策略文件
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
下载后解压,可以看到local_policy.jar和US_export_policy.jar以及readme.txt
如果安装了JRE,将两个jar文件放到%JRE_HOME%\lib\security目录下覆盖原来的文件
如果安装了JDK,还要将两个jar文件也放到%JDK_HOME%\jre\lib\security目录下覆盖原来文件
相关推荐
Java Cryptography Extension (JCE) 是Java开发工具包(JDK)的一部分,它提供了解密、加密、哈希和数字签名等高级加密功能。在JDK8中,JCE(Java Cryptography Extension)的一个关键更新是它开始支持256位加密算法...
jdk7解除aes加密限制,java.security.InvalidKeyException:illegal Key Size
在Java的JDK中,提供了多种加密方法,包括对称加密和非对称加密。这里我们主要讨论对称加密,因为它是Java中最常用且基础的加密方式。 对称加密是一种使用同一密钥进行加密和解密的加密技术。它的优点在于加解密...
本压缩包文件"jdk8解除aes加密限制.zip"很可能是针对这个问题提供了解决方案。 在Java中,加密相关的限制主要源于美国出口法规,这些法规限制了某些高强度加密算法的使用,以防止技术非法出口。因此,Java ...
在JDK中,AES加解密的核心类位于`javax.crypto`包下,主要包括`Cipher`类用于执行加密和解密操作,`KeyGenerator`类用于生成AES密钥,以及`SecretKeySpec`类用于创建AES密钥。 1. **AES加密过程**: - **生成密钥*...
用于替换jdk里的两个jar,解决无法使用AES192、256位加密解密的问题 jce7,jce8
- **更强的加密**:JDK 1.6加强了加密算法,包括对AES、RSA和哈希函数的升级,提高了安全性。 - **权限控制**:添加了更多细粒度的安全策略,使开发者能够更好地控制程序的访问权限。 4. **开发工具**: - **...
在实际应用中,通常还需要依赖如BC(Bouncy Castle)这样的第三方库来提供更全面的加密算法支持,例如`bcprov-jdk15on-159.jar`这个文件,它是一个广泛使用的轻量级加密库,包含了对RSA和其他多种加密算法的实现。...
综上所述,使用JDK 1.8和Spring MVC实现RSA加密解密的HTTP接口,能够有效地保护传输数据的安全性。开发者需要熟悉Java的加密API,以及Spring MVC的组件和生命周期,以便正确地集成和使用RSA加密解密功能。同时,还要...
而JDK7和JDK8虽然在安全性上有增强,但仍然可能存在与旧版JDK不兼容的情况,特别是在处理特定的加密密钥长度时。 为了解决这个问题,"jdk7-8兼容包(微信企业号接入JDK6和JDK7及JDK8加解密失败处理)"提供了针对不同...
在描述中提到的"js加密后形成的密文base64和hex码大写都进行了展示",这表明加密后的结果不仅以Base64编码显示,还以十六进制大写形式呈现。Base64是一种将二进制数据转化为可打印字符的编码方式,而十六进制则是将...
bcprov-jdk15是Bouncy Castle针对Java 1.5及更高版本的一个组件,它包含了各种加密功能,如RSA、AES、DES等,以及PKCS#7、X.509证书和SSL/TLS协议的支持。 **bcprov-jdk15on-1.47.jar的内容** bcprov-jdk15on-1.47...
1. JCE的无限制权限策略文件(如`US_export_policy.jar`和`local_policy.jar`),这些文件替换JDK自带的策略文件,解除加密限制。 2. 可能包含针对JDK 1.8.0_131的补丁或更新,用于解决Kerberos TGT相关的问题。 3. ...
在Java开发中,安全性和数据保护是至关重要的环节,尤其是涉及到加密操作时。JDK(Java Development Kit)提供了丰富的加密库来支持各种加密算法,如AES(Advanced Encryption Standard)。AES是一种广泛使用的对称...
JDK8针对这种情况提供了解决方案,涉及到了Java加密体系(Java Cryptography Extension,简称JCE)的策略文件。本文将详细介绍这个错误的原因、JDK8的处理方式以及如何解冑这个问题。 首先,让我们理解一下错误的...
标题中的"bcprov-jdk16-146.jar"和"bcprov-jdk15-146.jar"是两个版本的Bouncy Castle提供者的Java档案(JAR)文件,用于加密和数字签名功能。Bouncy Castle是一个开源的Java加密库,它扩展了Java Cryptography ...
总结起来,"jdk1.7 去除加密管制限制"涉及到的是调整Java环境中的加密策略,通过替换`local_policy.jar`和`US_export_policy.jar`文件,可以让Java应用程序使用更强大的加密技术。然而,这需要谨慎操作,并且应根据...
在Java编程环境中,AES(Advanced Encryption ...同时,对于敏感数据的加密,除了选择正确的加密算法和密钥长度,还应遵循最佳实践,如使用随机生成的密钥、安全的密钥存储和传输,以及适当的加密模式和填充方式。
7. **安全增强**:加强了加密算法和安全策略,提高了应用的安全性。 JDK 1.8,又称为Java SE 8,于2014年发布,带来了重大的语言和API改进,其中包括: 1. **Lambda表达式**:这是Java 8最具标志性的特性,它引入...
在调用企业微信通讯接口的时候,企业微信aes加密抛出了illegal key size异常,这个异常的原因是jdk jar包缺少lib导致的,不同jdk版本的jar包缺失不同,附件包含jdk6,jdk7,jdk8的jar包依赖,更新覆盖的时候,记得先...