Jarsigner:“此jar包含未验证证书链的条目。”

时间:2011-11-08 11:25:35

标签: java applet jarsigner

我在自签名的jar上遇到以下错误:

jar verified.

Warning:
This jar contains entries whose certificate chain is not validated.

Re-run with the -verbose and -certs options for more details.

我签了这样的罐子:

"C:\Program Files\Java\jdk1.7.0\bin\jarsigner" -keystore myKeyStore myJar.jar myAlias

我的jar有2个入口点:一个用于java web start,另一个用于applet。

  • 如果我以java web start方式运行jar,则没有发生。
  • 但是如果我将jar作为applet运行。当我尝试访问jar中嵌入的位图资源时,我会在某些时候获得强大的安全警告。

使用-verbose和-certs选项会显示很多行。我对此一无所知。这是输出:output.txt(下面转载的6307行的一部分)。

s     157850 Tue Nov 08 12:57:44 CET 2011 META-INF/MANIFEST.MF

      X.509, O=keyja.com
      [certificate is valid from 17/08/11 17:32 to 24/07/11 17:32]
      [CertPath not validated: null]

      112909 Tue Nov 08 12:57:44 CET 2011 META-INF/KEYJA_CO.SF
        1108 Tue Nov 08 12:57:44 CET 2011 META-INF/KEYJA_CO.RSA
sm       180 Tue Nov 08 12:16:40 CET 2011 com/keyja/client/a/a/a/k.class

      X.509, O=keyja.com
      [certificate is valid from 17/08/11 17:32 to 24/07/11 17:32]
      [CertPath not validated: null]

sm       252 Tue Nov 08 12:16:40 CET 2011 com/keyja/client/a/a/a/r.class
...
(around 6000 lines of other output along the same lines)

  s = signature was verified 
  m = entry is listed in manifest
  k = at least one certificate was found in keystore
  i = at least one certificate was found in identity scope

jar verified.

Warning: 
This jar contains entries whose certificate chain is not validated.

如何签署jar文件?

3 个答案:

答案 0 :(得分:1)

我想,只有一行回答你的问题。如果你仔细观察,你会看到它。这是


  

[证书有效期为2011年8月17日17:32至24/07/11 17:32]

正如我可能希望的那样,您知道今天不是7月24日,所以您只需要重新签名您的应用

答案 1 :(得分:1)

谢谢Andrew Thompson。我有未签名的jar文件,发现了这个bug。最好不签名你是对的,因为签名没有意义,因为我不需要离开沙盒。

对于记录,错误是使用jnlp.jar库。为了使它工作,我使用jnlp / applet代码而不是标准标签启动了applet。

答案 2 :(得分:0)

我有完全相同的问题。

新Java 7和Java 6版本的验证发生了变化。 错误ID为:6861062 java classes_security在证书链验证中禁用MD2。

签署Jara文件时,我收到了一些警告消息,执行命令时: jarsigner MyTools.jar -verify -verbose -certs

我收到了消息:       X.509,OU =第3类公共主要证书颁发机构,O =“VeriSign,Inc。”,C = US       [证书有效期为29.01.96 01:00至02.08.28 01:59]       [CertPath未验证:算法约束检查失败: MD2withRSA ]

我的解决方案是: - 使用另一个版本的JDK签名和JRE插件。 - 更新证书安全性以便不使用此算法。

我希望它会对你有所帮助。

此致