7

我在自签名 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 作为小程序运行。当我尝试访问嵌入在 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文件?

4

3 回答 3

1

谢谢安德鲁汤普森。我已经取消了我的 jar 文件的签名,并发现了这个错误。最好未签名你是对的,因为签名没有意义,因为我不需要离开沙箱。

作为记录,该错误是使用 jnlp.jar 库。为了使它工作,我使用 jnlp/applet 代码而不是标准标签启动了这个小程序。

于 2011-11-09T12:56:39.523 回答
1

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


[证书有效期为 17/08/11 17:32 至 24/07/11 17:32]

正如我所希望的,你知道今天不是 7 月 24 日,所以你只需要重新签署你的应用程序

于 2011-11-08T17:52:50.797 回答
0

我也有完全一样的问题。

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

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

我收到消息:X.509, OU=Class 3 Public Primary Certification Authority, O="VeriSign, Inc.", C=US [证书有效期为 29.01.96 01:00 至 02.08.28 01:59] [ CertPath 未验证:算法约束检查失败:MD2withRSA ]

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

我希望它会帮助你。

问候

于 2013-09-13T08:40:46.220 回答