Jarsigner:"此jar包含未验证证书链的条目."

Joe*_*oel 6 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.
Run Code Online (Sandbox Code Playgroud)

我签了这样的罐子:

"C:\Program Files\Java\jdk1.7.0\bin\jarsigner" -keystore myKeyStore myJar.jar myAlias
Run Code Online (Sandbox Code Playgroud)

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

  • 如果我以java web启动方式运行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.
Run Code Online (Sandbox Code Playgroud)

如何签署jar文件?

Joe*_*oel 1

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

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