我有一些代码需要JCE无限强度策略文件。我想将这个依赖项添加到Maven Pom文件中,这样我团队中的其他开发人员就不必分别将其应用到他们的系统中。
我意识到,最终部署到的系统将需要手动安装JCE文件。这只是一个开发解决方案。
我在想,我们可以将策略文件添加到我们的存储库中,maven将能够处理安装,但令我惊讶的是,我找不到其他人来做这件事(并将其写到博客上)。
发布于 2013-11-29 21:30:00
当我在谷歌上搜索策略JAR的Maven依赖项,并意识到它是特定于JRE安装的时,我已经找到了答案,因此,将其作为Maven构建的一部分进行修复仅适用于开发人员,并且仅当您拥有/jre/lib/security文件夹的权限时才有效。对我来说,下面的代码破解效果要好得多(将其作为你的应用程序做的第一件事):
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);
}
发布于 2017-01-06 08:50:04
Java 8安全黑客
// hack for JCE Unlimited Strength
Field field = Class.forName("javax.crypto.JceSecurity").getDeclaredField("isRestricted");
field.setAccessible(true);
Field modifiersField = Field.class.getDeclaredField("modifiers");
modifiersField.setAccessible(true);
modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL);
field.set(null, false);
https://stackoverflow.com/questions/3425766
复制相似问题