0

这是场景:我们创建了一个 JAVA 小程序,除了我们自己的代码之外,它还包括来自几个未打包的 3rd 方 JAR:s 的类。我们签署了小程序,它在客户端上运行良好。我们现在正试图使小程序更小,因为我们的许多客户都在带宽很差的网络上。所以pack200包装就是我在看的东西。

问题:

我们用 pack200 打包的步骤基本上是

  1. 重新打包(使用 pack200 util)我们的小程序 JAR 以规范化
  2. 使用我们的证书退出我们的 applet JAR
  3. 使用 pack200 util 打包小程序 JAR

很简单,在此过程中没有收到任何错误。但是,在客户端上,当他们收到这个新打包的小程序时,他们会在第 3 方 JAR 中包含的类上收到 SHA1 摘要错误。

第 3 方 JAR 没有与我们自己的 JAR 捆绑在一起,它被解包并且类被复制到 applet 中,即单个 JAR。

这个过程适用于另一个小程序,其中包括来自外部 JAR:s 的类,所以我认为我的过程是正确的。我怀疑这与已经签署的第 3 方 JAR 有关,但由于我们可以签署我们的小程序并首先运行它,所以我并不真正理解它。

有什么我错过的吗?我承认我到目前为止还不是签名方面的专家,所以可能有一些明显的事情会阻止事情按我的意愿工作。

4

1 回答 1

0

找到了解决方案。上面指向 pack200 的链接包含一个错误报告,我认为它已过时,因为它已被标记为已修复。然而,使用建议的第二种解决方法似乎可以解决问题。

于 2013-10-11T18:00:23.200 回答