我正在尝试过滤系统可用的可用加密算法以进行某些测试,但遇到了问题。
在 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)
有任何想法吗?
谢谢。