有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

我正在尝试使用256位AES加密,但出现以下异常: java.security.InvalidKeyException: Illegal key size

如果我使用128位的密钥,那么一切正常

通过替换$JAVA_HOME$\jre\lib\security上的两个.jar文件,我安装了JCE Unlimited Strength辖区策略文件。我试过这些文件的不同版本。我重新安装了较新版本的Java 8,并更新了PATH环境变量。什么都不管用。我仍然得到错误,Cipher.getMaxAllowedKeyLength("AES/CBC/NoPadding")仍然返回128


共 (1) 个答案

  1. # 1 楼答案

    我在Windows 8上。最初我安装了Java1.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下的那些,我不确定这是否必要,但它是有效的