【问题标题】:Make equinox verify bundles制作 Equinox 验证捆绑包
【发布时间】:2013-05-29 19:55:25
【问题描述】:

我希望 Eclipse RCP 产品在启动时验证其所有捆绑包的签名。所以我在 eclipse.ini 中添加了这些参数:

-Dosgi.signedcontent.support=all
-Declipse.p2.unsignedPolicy=fail

我在几个系统中随机更改了签名并在插件中挖掘模块,但 RCP 应用程序仍然可以加载和工作而没有任何提示。所以,似乎没有进行验证。

如何让 Equinox 验证所有捆绑包?我是否仅限于使用安全管理器(由于性能问题,我不想打开它)?

我在哪里可以找到有关 Equinox 的捆绑验证和安全管理器的任何文档?

【问题讨论】:

  • 您能否更清楚地了解您实际做了什么? “我随机更改了几个系统中的签名并在插件中挖掘模块。”您的意思是您随机更改了清单和相关文件中的摘要,同时保持代码本身完好无损?还是相反?
  • 我更改了摘要,希望得到一些安全异常。

标签: java osgi eclipse-rcp jaas equinox


【解决方案1】:

我对 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 是 allow all jaas 策略:

grant {
permission java.security.AllPermission;
};

【讨论】:

  • 经过测试。如果没有“全部允许”策略,Equinox 甚至不会启动:拒绝访问本机和 jar 启动器。 "org.osgi.framework.security=osgi" + "allow all" - 捆绑包未经验证。调查最小集。
  • 奇怪。它在这里工作正常。但最重要的是它现在对你有用,所以问题解决了。
猜你喜欢
  • 1970-01-01
  • 2012-04-11
  • 2015-01-25
  • 1970-01-01
  • 2014-03-02
  • 2014-06-26
  • 2011-03-09
  • 2013-09-06
  • 2010-12-02
相关资源
最近更新 更多