如何使JVM忽略Jar签名

时间:2009-06-05 15:49:40

标签: java security jar signing

我们有供应商提供的Jar,其中包含我们希望通过AOP扩展和/或修改的类。默认的Sun JVM安全模型不允许未签名或由其他人签名的代码在已签名的jar中扩展类。我们可以轻松地从jar文件中删除签名,但我更愿意将JVM配置为忽略jar签名安全措施。可以这样做吗?请注意,我们处于一个非常受控制的环境中,因此我们相对不关心将流氓代码插入到供应商提供的jar中。

1 个答案:

答案 0 :(得分:2)

我不确定这是否适用于您的情况,但可能会。编写自己的类加载器,但不是基于URLClassLoader,只需扩展Classloader并以自己的方式解析类。

使用此类加载器加载您的类并应用您的AOP魔法,我可能会说它应该可以工作。

我所做的是实现基于插件的框架,我不想签署每一段代码(库/插件),只需要对引导库(加载应用程序的那个)进行签名。当然,您在类加载器中运行的代码必须是可信的,因为您绕过了一些默认的安全约束。