3

如果 JAR 文件经过数字签名,签名是否会成为清单文件的一部分?

4

2 回答 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 回答