首页 文章

签署JNLP文件

提问于
浏览
3

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

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

所以我打算也签署我的JNLP文件 . 要签署我的JNLP文件,我已经按照这个link . 从文件

“要创建已签名的JNLP文件,您不要对JNLP文件本身进行签名,但是在创建JAR文件然后签名之前,在目录结构中包含JNLP文件.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

    我不认为签署你的JNLP会有所帮助 . 您应该重新签署应用程序的所有jar .

  • 0

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

  • 0

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

    .jnlp 本身没有签名,但它的副本可以与 signed .jar 内的 APPLICATION.JNLP 匹配

  • 0

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

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

    谢谢

相关问题