Java "Illegal key size" 尽管已安装 JCE Unlimited Strength Jurisdiction 策略文件
Java "Illegal key size" despite having installed JCE Unlimited Strength Jurisdiction Policy Files
我正在尝试使用 256 位 AES 加密,但出现以下异常:
java.security.InvalidKeyException: Illegal key size
如果我使用 128 位密钥,则一切正常。
我已经通过替换 $JAVA_HOME$\jre\lib\security
中的两个 .jar
文件安装了 JCE Unlimited Strength Jurisdiction 策略文件。我试过这些文件的不同版本。我已经重新安装了更新版本的 Java 8 并更新了 PATH 环境变量。什么都不管用。我仍然得到错误,Cipher.getMaxAllowedKeyLength("AES/CBC/NoPadding")
仍然是 returns 128.
我在 Windows 8. 最初我安装了 Java 1.8.0_25 并且 C:\Program Files\Java
下只有一个文件夹 jdk1.8.0_25
.我正在替换 C:\Program Files\Java\jdk1.8.0_25\jre\lib\security
处的 jar 文件。那没用。
我安装了最新版本(1.8.0_111)后,除了新的jdk文件夹jdk1.8.0_111
外,还出现了一个新文件夹:jre1.8.0_111
.
替换 C:\Program Files\Java\jre1.8.0_111\lib\security
中的两个 jar 文件解决了问题。我还替换了 C:\Program Files\Java\jdk1.8.0_111\jre\lib\security
下的那些 - 我不确定是否有必要,但它有效。
我正在尝试使用 256 位 AES 加密,但出现以下异常:
java.security.InvalidKeyException: Illegal key size
如果我使用 128 位密钥,则一切正常。
我已经通过替换 $JAVA_HOME$\jre\lib\security
中的两个 .jar
文件安装了 JCE Unlimited Strength Jurisdiction 策略文件。我试过这些文件的不同版本。我已经重新安装了更新版本的 Java 8 并更新了 PATH 环境变量。什么都不管用。我仍然得到错误,Cipher.getMaxAllowedKeyLength("AES/CBC/NoPadding")
仍然是 returns 128.
我在 Windows 8. 最初我安装了 Java 1.8.0_25 并且 C:\Program Files\Java
下只有一个文件夹 jdk1.8.0_25
.我正在替换 C:\Program Files\Java\jdk1.8.0_25\jre\lib\security
处的 jar 文件。那没用。
我安装了最新版本(1.8.0_111)后,除了新的jdk文件夹jdk1.8.0_111
外,还出现了一个新文件夹:jre1.8.0_111
.
替换 C:\Program Files\Java\jre1.8.0_111\lib\security
中的两个 jar 文件解决了问题。我还替换了 C:\Program Files\Java\jdk1.8.0_111\jre\lib\security
下的那些 - 我不确定是否有必要,但它有效。