如果作为构建的一部分,我通过Ant的signjar
任务签署一个jar,那么它将被视为“签名jar”。通过执行jar:sign
目标,可以在Maven-land中完成同样的事情。
诸如Artifactory之类的存储库管理器具有校验和的概念,您可以在错误的校验和上部署失败,可以重新计算错误/缺失的校验和,并根据校验和状态采取各种其他操作。
我想知道通过诸如signjar
或jar:sign
之类的方法将罐子的结果(“签名”)与Artifactory的校验和概念之间的关系。
“校验和”只是通过运行这些签名任务/目标产生的内容的通用术语吗?或者他们是完全不同的项目?
答案 0 :(得分:2)
校验和是文件内容的数字表示。签名是向文件添加签名的过程。
由于签名过程中文件的大小和内容发生了变化,因此同一文件的校验和有问题,而无符号的校验和也会有所不同。
使用校验和验证文件传输成功的过程对Artifactory来说并不特殊。 对于上传,它是这样的:
当你使用构建工具(Maven或Ivy)在签名后将jar文件部署到Artifactory时,计算出的校验和将是正确的(已签名的jar),所以一切都应该按预期工作。
答案 1 :(得分:0)
签名的jar可以保证其内容是由签名人创建的。校验和只是检查文件是否完整。例如,有人可以修改文件并更改校验和以匹配新内容。