当前位置: 首页 > 知识库问答 >
问题:

在启动由模板签名的JNLP时,不断得到“JNLPSigningException[未能验证启动文件的签名]”

蒋畅
2023-03-14

我们决定按照以下oracle指南对JNLP文件进行签名。由于我们有不同的JNLP,所以我们采用了第二种方法(用JNLP模板对JAR文件进行签名)。

下面是我们提取到模板中的代码:

<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" codebase="*" href="*">
  <information>
    <title>*</title>
    <vendor>My vendor</vendor>
    <description>My description</description>
    <icon href="splash.jpg" kind="splash" width="700" height="400" size="115258"/>
    <offline-allowed />
    <shortcut>
      <menu submenu="My submenu"/>
    </shortcut>
  </information>

  <security>
    <all-permissions/>
  </security>

  <resources locale="en es ja">
    <j2se version="1.6+" initial-heap-size="128m" max-heap-size="384m" href="http://java.sun.com/products/autodl/j2se"/>
    <jar href="myjar.jar" main="true" download="lazy" part="core" size="*"/>
    <jar href="lib/commons-lang-2.6.jar" download="lazy" part="commons" size="297085"/>
    ...
    <jar href="lib/trident-6.0.jar" download="lazy" part="core" size="114496"/>
    <property name="jnlp.myProperty" value="*"/>
    <property name="log4j.configuration" value="*"/>
  </resources>

  <application-desc main-class="com.mycom.myapp.MyClass">
  </application-desc>
</jnlp>

...这是我们实际使用的JNLP之一:

<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" codebase="http://mylocation.mycom.com/jnlp/myapp/" href="myapp.jnlp">
  <information>
    <title>My App - Production version</title>
    <vendor>My vendor</vendor>
    <description>My description</description>
    <icon href="splash.jpg" kind="splash" width="700" height="400" size="115258"/>
    <offline-allowed />
    <shortcut>
      <menu submenu="My submenu"/>
    </shortcut>
  </information>

  <security>
    <all-permissions/>
  </security>

  <resources locale="en es ja">
    <j2se version="1.6+" initial-heap-size="128m" max-heap-size="384m" href="http://java.sun.com/products/autodl/j2se"/>
    <jar href="myjar.jar" main="true" download="lazy" part="core" size="4189501"/>
    <jar href="lib/commons-lang-2.6.jar" download="lazy" part="commons" size="297085"/>
    ...
    <jar href="lib/trident-6.0.jar" download="lazy" part="core" size="114496"/>
    <property name="jnlp.myProperty" value="http://mylocation.mycom.com/jnlp/myapp/MyApp.properties"/>
    <property name="log4j.configuration" value="http://mylocation.mycom.com/jnlp/myapp/log4j.xml"/>
  </resources>

  <application-desc main-class="com.mycom.myapp.MyClass">
  </application-desc>
</jnlp>
    null

未能验证启动文件的签名。签名的版本与下载的版本不匹配。

有人知道我错过了什么吗?

共有2个答案

爱唯
2023-03-14
热门标签
冉锋
2023-03-14
相关问题
 类似资料:
  • 我试图用OpenSSL验证一个PE文件的证书/签名(或者实际上用Python,但是看起来Python在证书处理方面很糟糕)。 我已从PE文件中提取了DER PKCS7证书,如下所述:http://blog.didierstevens.com/2008/01/11/the-case-of-the-missing-digital-signatures-tab/ 我已经创建了一个没有校验和和签名数据的P

  • 我需要用c语言验证由JAVA签名API生成的签名。我有一套相同的公钥和私钥。我还验证了c语言的签名和验证工作。但是我在验证JAVA生成的签名时遇到了问题。我看了所有的文件,尝试了不同的方法,但我似乎还是不明白。我将使用用于验证的原始JAVA代码粘贴等效的c代码。 原始JAVA代码: C代码: 我有3个问题: 这是验证签名的正确方法吗? 我需要在验证数据之前对其进行散列吗?如果是,那么JAVA在签名

  • 问题内容: 我公司生产用于服务器的Java应用程序,并提供JNLP文件以启动本地应用程序。从OSX 10.8.4开始,需要使用开发人员ID对JNLP文件进行签名,以使Gatekeeper保持满意状态(实际上位于发行说明的最底部)。 问题是:如何做到这一点?AFAIK,您可以签署Apps(我们有一些带有Developer ID的Java Apps签署)-但JNLP-文件就是这样:文件。 下一步:如何

  • 问题内容: 我正在尝试从中运行样板项目。 运行时,我收到以下可爱错误: 我的 我的: 我的系统统计: 问题答案: 尝试将Leiningen降级为2.7.1: 这是Leiningen 2.8.0中的回归。参见https://github.com/technomancy/leiningen/issues/2328。

  • 尽管我们在SAML身份验证请求中发送了签名值,但平联邦服务器会在SP启动的SSO上响应错误签名要求。以下是我要发送给平联邦的请求: 为了更好的可读性,我缩短了签名值和证书。PingFederate用SAML响应拒绝了此请求 以下是PingFederate的日志: 需要帮助我们如何解决这个问题,任何可以在Ping Federate上设置的旋钮/标志,以使其正常工作。

  • 我想让一个批处理文件在启动时运行在我的Windows10机器上。为了实现这一点,我在以下文件中设置了批处理文件startup.bat的快捷方式: 用户->用户名->AppData->漫游->Microsoft->Windows->开始菜单->程序->启动 因为这是在运行命令框中键入“shell:startup”时出现的路径。我正尝试在批处理文件中运行以下命令: 它应该将右侧的文件路径替换为“w:”