【发布时间】:2019-01-02 18:20:38
【问题描述】:
我想配置 jdk,以便如果我要执行 java -jar myjar.jar,那么 myjar 只会在它已被签名(由特定签名者)签名时执行。我找到了this 的答案,但我不确定编辑策略文件是否是解决方案。根据我通过阅读here 的理解,您似乎只能授予/限制应用程序读取/写入某些目标的权限,而不能授予/限制应用程序本身运行的权限。例如,使用策略文件文档中的示例,我可以添加
grant signedBy "Duke" {
permission java.io.FilePermission "/tmp/*", "read,write";
};
允许“Duke”签名的 jar 读取/写入 /tmp/ 中的文件,但我不能添加限制,以便 只有“Duke”签名的 jar 可以首先运行.
我知道使用jarsigner -verify 来验证罐子的能力,但我希望有一个配置Java 运行时本身的解决方案。有没有办法使用策略文件或其他方式来实现这一点?
谢谢
【问题讨论】:
标签: java keystore jarsigner jar-signing