【问题标题】:jarsigner is not working in java , therefor the build failsjarsigner 在 java 中不起作用,因此构建失败
【发布时间】:2018-07-30 11:25:13
【问题描述】:

jarsigner 在 java 中不工作,因此构建失败

  [signjar] jarsigner: unable to sign jar: no response from the Timestamping Authority. When connecting from behind a firewall an HTTP or HTTPS proxy may need to be specified. Supply the following options to jarsigner:
  [signjar]   -J-Dhttp.proxyHost=<hostname>
  [signjar]   -J-Dhttp.proxyPort=<portnumber>
  [signjar] or
  [signjar]   -J-Dhttps.proxyHost=<hostname> 
  [signjar]   -J-Dhttps.proxyPort=<portnumber> 

项目构建路径没有错误。所有依赖项都导入到构建路径中。

【问题讨论】:

    标签: java eclipse jar-signing


    【解决方案1】:

    这是我理解的问题:

    • 您正在尝试使用 Ant“build.xml”文件构建项目。
    • 您正在 Eclipse 中运行构建。
    • 您在无法访问 Internet 的 VM 中运行 Eclipse。
    • 在 JAR 签名期间,当jarsigner 尝试与时间戳授权 (TSA) 通信时,构建失败。与 TSA 交谈需要互联网接入。

    我也不知道为什么会遇到这个错误。

    因为您正在尝试使用签名时间戳,并且您的构建系统没有直接的互联网访问权限,并且您没有'没有以适当的方式提供 http 或 https 代理供 jarsigner 使用。


    有几种方法可以解决这个问题。 (以下以文档为准,我没有测试过。)

    如果您有可用的互联网代理:

    • 最简单的方法是在“build.xml”中编辑“signjar”任务并添加“tsaproxyhost”和“tsaproxyport”属性,如Ant manual中所述。

    • 如果您在命令行上构建1,您应该能够按照Proxy Configuration 的 Ant 说明进行操作。 (有两种方法...)

    • 如果您使用 Eclipse 运行构建,那么您可以找到用于运行 Ant 的 Eclipse“运行器”配置,然后按照上一个项目符号添加命令行。

    (我认为有关-J-D... 选项的错误消息来自jarsigner 实用程序本身。该建议仅在您直接从命令行运行jarsigner 时直接适用。也就是说,当然,另一种选择。)

    如果您没有可用的代理(或者您只是受够了),另一种选择是编辑“signjar”任务以禁用签名。删除“tsaurl”和“tsacert”属性就可以了。

    禁用时间戳将为您提供一个没有签名时间戳的签名 JAR。 Oracle Signature Timestamp Support 文档解释了其意义:

    “在 J2SE 5.0 之前,jarsigner 生成的签名不包含有关何时生成签名的信息。在没有其他可用信息的情况下,系统/部署者(包括 Java 插件的用户)通常基于他们的有效性评估关于签名证书有效性的已签名 JAR 文件。当签名证书过期时,系统/部署者会得出结论,签名以及 JAR 文件已过期。由于签名证书通常每年过期,这会通过强制执行给客户带来重大问题他们每年重新签署部署的 JAR 文件。

    从 J2SE 5.0 开始,jarsigner 可以生成包含时间戳的签名,从而使系统/部署程序(包括 Java 插件)能够检查 JAR 文件是否在签名证书仍然有效时被签名。此外,在 J2SE 5.0 中添加了 API,以允许应用程序获取时间戳信息。”


    1 - 我建议您下载并安装一个独立的 Ant,以便您可以从命令行运行构建。

    【讨论】:

      猜你喜欢
      • 2020-04-14
      • 2016-01-14
      • 2023-03-12
      • 2022-07-07
      • 2013-07-07
      • 1970-01-01
      • 2022-12-05
      • 1970-01-01
      • 2011-01-15
      相关资源
      最近更新 更多