提问者:小点点

Java“非法密钥大小”,尽管已经安装了JCE无限强度管辖策略文件


我正在尝试使用256位AES加密,但收到以下异常:<code>java.security.InvalidKeyException:密钥大小非法

如果我使用128位密钥,那么一切都很好。

我通过替换位于$JAVA_HOME$\jre\lib\security的两个. jar文件来安装JCE无限强度管辖权策略文件。我尝试了这些文件的不同版本。我重新安装了Java8的新版本,并更新了PATH环境变量。没有任何效果。我仍然收到错误,Cipher.getMaxAlloweKeyLlong("AES/CBC/NoPadd")仍然返回128。


共1个答案

匿名用户

我使用的是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文件夹< code>jdk1.8.0_111之外,还出现了一个新文件夹:< code>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 下的那些 - 我不确定这是否必要,但它有效。