我从https://docs.oracle.com/javase/tutorial/deployment/jar/intro.html学到,使用jarsigner签名jar文件的步骤如下:
此外,为什么在*.SF文件中具有哈希值(额外的检查?在哪些情况下?)?
更新清单文件,其中包含每个文件的哈希列表:
Name: com/qarks/util/files/diff/ui/main/DiffMergeFrame.class SHA-256-Digest: GZgPXG9YnmVGXb+hFwnJF4im4hb/qixX2Gs+ZNpdGFU=
Name: com/qarks/util/ui/swing/PrintManager.class SHA-256-Digest: cO6XolXrk5NlHBocDF0fzojlwSAKlDoGsY/jdJ0fzdY=
创建签名文件(*.SF)。它包含以下内容:
- 清单文件的哈希值
- 清单文件中主要属性的哈希值
- 来自清单文件中每个文件的哈希列表的哈希值
创建签名块文件(*.RSA, *.DSA)。它存储*.SF签名文件的数字签名。
此外,为什么在*.SF文件中具有哈希值(额外的检查?在哪些情况下?)?