Java数字签名相关文件(MANIFEST.MF,* .SF,* .DSA)及其内容?

时间:2013-08-01 09:00:01

标签: java hash jar digital-signature jarsigner

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

显然,我想知道.SF文件究竟是什么,因为我读过许多文档,每个文档都略有不同,例如:

  

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

     

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

     

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

     

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

  

签名文件包含摘要条目   存档的文件看起来类似于摘要值条目   表现。但是,清单中的摘要值是   从文件本身计算,签名中的摘要值   文件是从清单中的相应条目计算的。   签名文件还包含整个清单的摘要值

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

所以嗯... .sF文件包含什么?如何计算其条目?

请在发布回答之前,如果需要,请使用哈希计算器like this进行检查!

1 个答案:

答案 0 :(得分:1)

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

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