gpt4 book ai didi

java - 无法将 CryptoPermission 添加到 java.policy 文件

转载 作者:太空宇宙 更新时间:2023-11-04 07:32:46 25 4
gpt4 key购买 nike

我正在尝试过滤系统可用的加密算法以进行一些测试,但遇到了问题。

在 local_policy.jar 文件中,它包含 default_local.policy 文件中的各种条目,例如

permission javax.crypto.CryptoPermission "DES", 64;

我尝试通过传递以下内容来使用自定义策略文件:

-Djava.security.manager -Djava.security.policy=F:/myfile.policy

这在一定程度上有效,但收到错误:

java.security.policy: error parsing file:/F:/myfile.policy: 
line 65: expected [;], found [64]

出于某种原因,它不会读取引号“”之外的任何内容,但这适用于 local_policy.jar 文件中的内容。策略文件内容如下:

grant {
permission javax.crypto.CryptoPermission "DES", 64; <--- line #65
permission javax.crypto.CryptoPermission "DESede", *;
permission javax.crypto.CryptoPermission "RC4", 128;
permission javax.crypto.CryptoPermission "RSA", *;
permission javax.crypto.CryptoPermission *, 128;
};

我也尝试过使用策略工具(jdk/bin 文件夹中的 policytool.exe),但我得到:

java.lang.NoSuchMethodException: javax.crypto.CryptoPermission.<init>
(java.lang.String, java.lang.String)

有什么想法吗?

谢谢。

最佳答案

javax.crypto.CryptoPermissions 不是与安全管理器一起使用的权限,但适用于 java 加密扩展 (JCE)。也就是说,它们进入一个单独的策略文件(该文件或多或少与安全管理器的策略文件共享格式)。您可以在此处找到有关 JCE 的更多信息:http://docs.oracle.com/javase/1.5.0/docs/guide/security/jce/JCERefGuide.html

如果我没记错的话(这里很可能就是这种情况),需要通过在 JRE/JDK 安装中交换文件来安装 JCE 策略文件(另请参阅此处的一些信息: Java Security: Illegal key size or default parameters? )。据我所知,这个策略文件不能简单地通过 VM 参数指定。

关于java - 无法将 CryptoPermission 添加到 java.policy 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17444838/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com