签署JNLP文件

时间:2013-10-25 12:28:21

标签: java java-web-start jnlp digital-certificate

我正在运行java web start应用程序。因为应用程序数字签名已过期。我从CA购买了签名,并使用storetype作为pkcs12签署了我的jar文件。

签署JNLP文件中使用的所有jar并启动应用程序。仍然出现安全警告弹出窗口并提示“应用程序的数字签名已过期”。当我点击从弹出窗口中读取“更多信息”链接时,它说“部分应用程序缺少数字签名。而且”应用程序的相关文件(JNLP)没有“。”

所以我打算也签署我的JNLP文件。要签署我的JNLP文件,我已遵循此link。 来自文件

  

“要创建已签名的JNLP文件,您不要自己签署JNLP文件,但是   你在之前的目录结构中包含了JNLP文件   创建JAR文件然后签名。必须命名JNLP文件   APPLICATION.JNLP并包含在JNLP-INF子目录“

作为文档,我添加了名为“JNLP-INF”的文件夹,并添加了一个名为“APPLICATION.JNLP”的文件。

这是我的文件夹结构

Tomcat的

  webapps

         application_name(xxxx)

                      Client-lib ( all the jars inside is signed)
                      JNLP-INF ( has APPLICATION.JNLP)
                      META-INF
                      WEB-INF
                      client.jnlp
                      index.html

在build.xml中,将test.jnlp复制到/JNLP-INF/APPLICATION.JNLP并签署jar文件。

我仍然收到警告安全弹出窗口中的消息“”应用程序的数字签名已过期“

任何帮助将不胜感激。

由于

4 个答案:

答案 0 :(得分:0)

听起来您需要让您的CA向您颁发新的(未过期的)证书。如何执行此操作将根据您的CA而有所不同。如果您的证书确实没有过期,那么这不应该花费任何费用。但是您的证书只有您支付的时间有效。

答案 1 :(得分:0)

确保我们清理了applet和应用程序的所有缓存。 要执行此操作,请转到控制面板 - > java - >临时互联网文件 - >设置 - >删除文件 - >选中缓存的应用程序和小程序以及已安装的应用程序和小程序的复选框。

这将确保您的缓存清晰,现在启动您的服务并检查jar签名。

由于

答案 2 :(得分:0)

我不相信签署你的JNLP会有所帮助。您应该重新签署应用程序的所有jar。

答案 3 :(得分:0)

如果我对此是正确的并且理解正确,您需要将/JNLP-INF/APPLICATION.JNLP放入.jar并在其中签名。然后将其复制到自定义位置并启动它。这个应该帮助。

.jnlp本身未签名,但其副本可与已签名<{strong> APPLICATION.JNLP

内的.jar匹配