我使用一些Jasypt加密库设置了一个项目,当代码尝试执行时,第一个加密操作抛出以下错误。
Caused by: java.lang.SecurityException: The jurisdiction policy files are not signed by a trusted signer!
at javax.crypto.JarVerifier.verifyPolicySigned(JarVerifier.java:289)
at javax.crypto.JceSecurity.loadPolicies(JceSecurity.java:316)
at javax.crypto.JceSecurity.setupJurisdictionPolicies(JceSecurity.java:261)
at javax.crypto.JceSecurity.access$000(JceSecurity.java:48)
at javax.crypto.JceSecurity$1.run(JceSecurity.java:78)
at java.security.AccessController.doPrivileged(Native Method)
at javax.crypto.JceSecurity.<clinit>(JceSecurity.java:76)
... 9 more在研究了一段时间后,似乎很明显我必须替换我的JCE加密策略文件。我从这个链接下载了jce7压缩包:http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html
我将该文件解压缩并将两个jars文件复制到C:\Program Files (X86)\Javajre7lib\security
还有一个与我刚才提到的jre7目录处于同一级别的jre6目录。在第一次尝试失败后,我还尝试将相同的策略文件复制到jre6目录。我还尝试将特定于jre6的jars文件复制到该目录,但没有成功。
编辑:我正在运行Java 1.7.0_40
任何帮助都将不胜感激。谢谢!
发布于 2013-09-13 00:48:45
这两个策略文件按照README.txt文件的指示放入"jre7/lib/security“文件夹,覆盖现有文件,而不是放入"jre7”根文件夹。还要注意,您必须使用与您的JRE匹配的正确文件- Java 7策略文件可能在Java 6中不起作用,反之亦然。
另请参阅此问题:How to avoid installing "Unlimited Strength" JCE policy files when deploying an application?
https://stackoverflow.com/questions/18754243
复制相似问题