签署JAR文件的目的是为了验证该文件未被篡改。一旦jar文件被签名,您可以验证该文件是否被其他人修改过。这确保该文件源自最初签署的人。如果有人在签名验证过程中修改了文件,则验证失败。您可以参考此文章了解有关如何使用公钥加密执行数字签名的详细信息。
当你签署一个jar文件时,你可以展示这是由你签署的而不是其他人。当你签署一个文档时也是同样的道理,只有你可以写下你的签名。其他人可以签署它,但他们会用他们自己的签名,而不是你的签名。对于手写签名,技艺精湛的伪造者可以学习复制你的签名。使用数字签名,更难以制作副本,因为你需要得到该人的私钥。没有私钥,你无法制作出看起来像他们的签名。
签署jar文件将内容与特定证书关联起来。那么这个证书证明了什么?如果证书的私钥被盗,那么证书就没有什么用处了。有一些防篡改设备可以保护私钥,但通常私钥会保存在开发者的计算机上,这些计算机可能没有得到很好的保护。证书本身可能由知名的证书授权机构(CA)签署。因此,最终用户对内容的声明来源有一定的信心。验证证书密钥持有人是谁的程度不同。这导致了一场竞争,CAs简化程序以提供更低的价格。即使是未经验证的证书,使用相同证书签署的不同内容显示出共同的来源。因此,如果您决定信任一个证书,您可以从同一来源接收更多内容,而无需信任其他人。