“您的安全设置已阻止自签名应用程序运行”,使用真正的pfx签名jar

时间:2014-09-18 20:59:24

标签: java security applet jarsigner

我实际上用这个命令来jarsign一个java applet:

jarsigner -storetype pkcs12 -keystore my_real_certificate.pfx my_applet.jar my_alias_certificate -storepass my_password

当我启动applet时,出现以下错误:

  

您的安全设置已阻止自签名应用程序运行

当我想验证jar时,结果显示如下:

  

jar验证。

     

警告:此jar包含签名者证书的条目   ExtendedKeyUsage扩展名不允许代码签名。这个罐子   包含未验证证书链的条目。这个罐子   包含不包含时间戳的签名。没有   时间戳,用户可能无法在此之后验证此jar   签署人证书的到期日(2017-05-22)或任何未来之后   撤销日期。

对于此警告:

  

此jar包含签名者证书的条目   ExtendedKeyUsage扩展程序不允许代码签名

我猜我的证书不适用于jarsigning代码。你能否告诉我这种警告是否会让我在客户端出现这种错误?或者我还可以使用此证书吗?

对于此警告:

  

此jar包含未验证证书链的条目。

我不明白,因为我的证书确实是由CA(Thawte)验证的。我应该向Java或我的Windows证书管理器指示完整的证书链(使用CA Root和中间人)吗?如果是这样,这个小程序的用户会发生什么?他们也应该这样做吗?

提前感谢您的回答。

1 个答案:

答案 0 :(得分:1)

  

我想我的证书不适用于jarsigning代码。

正确。

  

你能否告诉我这种警告是否会让我在客户端出现这种错误?

  

或者我还可以使用此证书吗?

不用于代码签名。 (但它可能有效用于其他目的。)

  

我不明白,因为我的证书确实是由CA(Thawte)验证的。

这似乎不是问题所在。

  

我应该向Java或我的Windows证书管理器指明完整的证书链(使用CA Root和中间人)吗?

我认为这不会起作用。即使它确实......

  

如果是这样,这个小程序的用户会发生什么?

他们仍然会发现那些赢得&不运行>>的JAR<<<。

  

他们也应该这样做吗?

糟糕的主意。您实际上是在告诉他们为了运行您的软件而损害他们的安全性......因为您还没有使用有效的JAR签名密钥。