4

我试图了解 jar 和 jarsigner 在 jarring 和注册 java 代码时经历的步骤,以编程方式复制这些步骤的一部分。

明确地说,我想知道 .SF 文件中究竟包含什么,因为我已经阅读了许多文档,每个文档都说明了一些略有不同的内容,例如:

为 JAR 中的每个文件计算摘要(或哈希)并包含在清单中,例如,

名称:Hello.class SHA1-Digest:(文件的 160 位哈希值)

对 JAR 文件进行签名后,会在 META-INF 目录中创建一个扩展名为“.SF”的签名文件。使用签名者的私钥对每个文件的摘要值进行签名(或加密)。例如,

名称:Hello.class SHA1-Digest:(使用签名者的私钥加密的摘要值)

签名文件包含存档文件的摘要条目,这些条目看起来类似于清单中的摘要值条目。然而,虽然清单中的摘要值是根据文件本身计算的,但签名文件中的摘要值是根据清单中的相应条目计算的。签名文件还包含整个清单的摘要值

  • 以模糊和非描述性方式处理论点的其他来源

所以嗯.. .SF 文件究竟包含什么?它的条目是如何计算的?

请在发布答案之前,如果需要,请使用这样的哈希计算器进行检查

4

1 回答 1

3

另一方面,在 .SF 文件中,给定源文件的摘要值是源文件清单文件中三行的哈希值。

有关更多信息,请查看 http://docs.oracle.com/javase/7/docs/technotes/tools/windows/jarsigner.html

于 2014-05-14T09:13:01.427 回答