我在 jarSigning 问题上是全新的,但是几天来我遇到了麻烦并且搜索/学到了很多东西。(这个话题和我的问题无关:为什么Java Web Start说一个签名的jar文件是未签名的?)
我在我的 java-web-start 项目中使用了 org.apache.commons 包,它多年来一直很有魅力。上周,在 java 7 更新 45 之后,我们的用户无法运行我们通过 JNLP 运行的应用程序。他们收到的错误是与某些属于 Apache 的 jar 相关的“JARSigningException”。我从 jnlp 中删除了与这 6 个 jar 对应的行,然后我们能够启动 webstart 应用程序,但在运行时我们遇到了一些异常。
所有 jar 都使用相同的证书进行自签名(我自己没有签名,但由于几天前我们没有遇到问题,它们应该使用相同的证书进行签名)
当我如下验证有问题的 jar 文件时:jarsigner -verify commons-digester-1.7.jar
我收到以下消息:
jar verified.
警告:
This jar contains unsigned entries which have not been integrity-checked.
This jar contains entries whose signer certificate has expired.
This jar contains entries whose certificate chain is not validated.
Re-run with the -verbose and -certs options for more details.
如果 Jar 文件经过验证,为什么我在尝试运行 jnlp 文件时仍会收到 JARSigningException?
任何帮助将不胜感激,在此先感谢,