我正在使用JCE在我的项目中加密和解密。我在$ JAVA_HOME / jre / lib / security下安装了必要的java安全jar。同样在我的eclipse开发环境中,我指的是正确的jre。在日食中一切正常。但是当我使用maven构建项目时,它失败并带有以下例外
The jurisdiction policy files are not signed by a trusted signer!
到目前为止已经尝试过了。
通过在其他任何事情之前初始化以下代码块来尝试黑客攻击
try {
Field field = Class.forName("javax.crypto.JceSecurity").getDeclaredField("isRestricted");
field.setAccessible(true);
field.set(null, java.lang.Boolean.FALSE);
} catch (ClassNotFoundException | NoSuchFieldException | SecurityException | IllegalArgumentException | IllegalAccessException ex) {
ex.printStackTrace(System.err);
}
还尝试通过添加以下插件来更改pom.xml
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>1.1.1</version>
<executions>
<execution>
<id>enforce</id>
<configuration>
<rules>
<evaluateBeanshell>
<condition>javax.crypto.Cipher.getMaxAllowedKeyLength("AES") > 128</condition>
</evaluateBeanshell>
</rules>
</configuration>
<goals>
<goal>enforce</goal>
</goals>
</execution>
</executions>
</plugin>
我已确认策略jar的版本与我的计算机上的Java版本匹配。有没有办法配置maven使用这些罐子? (无需使用像Bouncy Castle这样的其他图书馆)谢谢。
答案 0 :(得分:0)
下载Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files以获得无限强度版本并将其用于构建和运行时。