禁用sun签名的jars验证

禁用sun签名的jars验证,jar,jvm,java-web-start,Jar,Jvm,Java Web Start,我在试图发布一个.war包时遇到了很多麻烦,该包包含一个Web Start应用程序,其构建路径(com.sun.deploy.net.JARSigningException) 我已经尝试清理javaws缓存,重新安装应用程序,甚至重新安装java(1.6.0_24) 这是我在创建JNLP应用程序时的netbeanside6.8(build200912041610)输出的一部分: Warning: The signer certificate will expire within six mon

我在试图发布一个
.war包时遇到了很多麻烦,该包包含一个Web Start应用程序,其构建路径
(com.sun.deploy.net.JARSigningException)

我已经尝试清理
javaws
缓存,重新安装应用程序,甚至重新安装
java(1.6.0_24)

这是我在创建
JNLP
应用程序时的
netbeanside6.8(build200912041610)
输出的一部分:

Warning: 
The signer certificate will expire within six months.
Signing JAR: D:\Java\workspace\OTP\DeskOTP\atual\build\cluster\modules\ext\commons-configuration-1.3.jar to D:\Java\workspace\OTP\DeskOTP\atual\build\jnlp\app\br-com-petrobras-ep-gedig-gedigdesktoplibrary\ext-commons-configuration-1.3.jar as jnlp
然而,当尝试运行时,我得到了这个jar的
JARSigningException

所以,我决定解决这个问题,禁用这个验证。我相信我可以决定告诉jvm不要验证我的JAR(我的责任)


有没有办法告诉
jvm
javaws
永远不要验证未签名的
jar

作为第一反应,我想尝试
java-noverify-jar您的_文件.jar。


但是,这只适用于本地文件。它不会从网络来源工作,这听起来像是你正在尝试做的事情。是吗?

您可以随时从web下载jar,手动删除清单上的签名部分,它应该可以工作。如果jar恰巧是从web上动态下载的,如另一个回复中提到的@Riking,那么您可以通过将URL代理到另一个服务器来绕过它


现在,如果您可以访问部署构建状态,并且在工件上的过期签名方面遇到问题,一种替代方法可能是使用您公司的(Petrobras?)签名证书对jar进行重新签名。这将允许您解决过期的问题,前提是构建知道它应该提取您的工件版本,而不是原始的commons配置。

“有没有告诉jvm或javaws永远不要验证未签名的JAR?”这有什么意义?即使可以在开发机器上实现,也不应该在客户端机器上实现。在一些最新版本的Java中存在一个错误,它们无法正确验证证书,因此能够绕过特定的
.jnlp
文件,直到错误得到解决。是的,我需要在网络上忽略一些东西。我会继续在这里尝试。任何成功都将张贴在这里。谢谢。我甚至都没有把这个用于本地文件。我不认为noverify选项控制任何安全验证。