有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

javasignjar&jar:sign与Artifactory校验和

如果作为构建的一部分,我通过Ant的signjar任务对jar进行签名,那么它将被视为“签名jar”。同样的事情也可以通过执行jar:sign目标在Maven land实现

像Artifactory这样的存储库管理器有校验和的概念,您可以在错误校验和上失败部署,您可以重新计算错误/丢失的校验和,并根据校验和状态采取各种其他操作

我想知道JAR通过signjarjar:sign等方法的结果(“签名”)与Artifactory的校验和概念之间有什么关系

“校验和”只是运行这些标志性任务/目标产生的结果的通用术语吗?还是它们完全不同


共 (1) 个答案

  1. # 1 楼答案

    校验和是文件内容的数字表示。签名是向文件添加签名的过程

    由于文件的大小和内容在签名过程中会发生变化,因此已签名和未签名的同一文件的校验和将不同

    使用校验和验证文件传输成功的过程对于Artifactory来说并不特殊。 对于上传,它是这样的:

    1. 客户端在上传文件之前计算校验和
    2. 客户端沿着文件上传校验和(通常在扩展名为.md5或sha1的单独文本文件中,这是计算校验和的两种方法)
    3. 上传服务器计算上传文件的校验和后
    4. 服务器将其校验和与上载的校验和进行比较。如果他们匹配-都是绿色的。如果没有——这取决于你在问题中提到的设置(上传失败,或者无论如何都要通过)

    当您在签名后使用构建工具(Maven或Ivy)将jar部署到Artifactory时,计算出的校验和将是正确的(已签名的jar),因此一切都应该按预期工作