我试图了解jar和jarsigner在制作和注册java代码时要经历的步骤,以编程方式复制这些步骤的部分内容。
显然,我想知道.SF文件究竟是什么,因为我读过许多文档,每个文档都略有不同,例如:
为JAR中的每个文件计算摘要(或哈希) 包含在清单中,例如,
名称:Hello.class SHA1-Digest :(文件的160位哈希值)
签名JAR文件时,扩展名为“.SF”的签名文件为 在META-INF目录中创建。每个文件的摘要值是 使用签名者的私钥签名(或加密)。如,
名称:Hello.class SHA1-Digest :(使用签名者加密的摘要值 私钥)
签名文件包含摘要条目 存档的文件看起来类似于摘要值条目 表现。但是,清单中的摘要值是 从文件本身计算,签名中的摘要值 文件是从清单中的相应条目计算的。 签名文件还包含整个清单的摘要值
所以嗯... .sF文件包含什么?如何计算其条目?
请在发布回答之前,如果需要,请使用哈希计算器like this进行检查!
答案 0 :(得分:1)
另一方面,在.SF文件中,给定源文件的摘要值是源文件清单文件中三行的哈希值。
有关详细信息,请查看 http://docs.oracle.com/javase/7/docs/technotes/tools/windows/jarsigner.html