我希望 Eclipse RCP 产品在启动时验证其所有 bundle 的签名。所以我将这些参数添加到 eclipse.ini 中:
-Dosgi.signedcontent.support=all
-Declipse.p2.unsignedPolicy=fail
我随机更改了几个系统中的签名以及插件中的我的模块,但 RCP 应用程序仍然加载并运行,没有任何提示。因此,似乎没有进行验证。
如何让 equinox 验证所有 bundle ?我是否只能使用安全管理器(由于性能问题,我不想打开它)?
在哪里可以找到有关 Equinox bundle 验证和安全管理器的文档?
最佳答案
我对 eclipse.ini 进行了一些更改并进行了验证。我还没有弄清楚哪个具体设置有帮助,所以(目前)我使用这些:
...
-vmargs
-Dorg.osgi.framework.security=osgi
-Djava.security.policy=/test.policy
-Dosgi.signedcontent.support=all
-Dosgi.support.signature.verify=true
-Declipse.p2.unsignedPolicy=fail
-Dosgi.signedcontent.trust.engine=BundleTrustEngine
test.policy 是允许所有 jaas 策略:
grant {
permission java.security.AllPermission;
};
关于java - 使春分验证 bundle ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16900572/