如果 JAR 文件经过数字签名,签名是否会成为清单文件的一部分?
问问题
1462 次
2 回答
5
几乎。实际上,签名的不是 JAR 文件,而是它的内容。
从技术上讲,JAR 档案中要签名的各个文件使用合适的散列函数(例如 SHA-1)进行散列。哈希值在清单中报告。然后在目录中添加一个额外的文件(一个*.SF
文件)META-INF/
;该文件包含每个签名文件的条目:每个条目都包含清单中相应条目的哈希(因此它或多或少是哈希的哈希)。*.SF
还包含一个条目,其中包含清单中主要标头的哈希值。最后,*.SF
文件本身被签名,产生一个遵循CMS格式(以前称为“PKCS#7”)的*.RSA
或*.DSA
文件(本身在目录中)。CMS 依赖于 X.509 证书的全部用具。META-INF/
所以这是相当间接的。必须理解的是,只有 JAR 中的单个文件被签名;给定的 JAR 文件中可能混合有已签名和未签名的部分。
于 2010-05-06T15:24:48.540 回答
0
显然答案是肯定的:“开发人员可以对 JAR 文件进行数字签名。在这种情况下,签名信息将成为清单文件的一部分。” (http://en.wikipedia.org/wiki/JAR_%28file_format%29)
于 2010-05-06T10:03:47.187 回答