我想验证Jar(.class)文件是从相同的源编译的,这些源可以在线获得,甚至可以在Jar本身中获得。 从理论上讲,有人可以将已编译的Jar上传到Maven存储库,并使用PGP进行签名。但是,已编译的内容可能与上传的内容不同,并且包含恶意软件(请参阅example和another one)。
如何验证jars中编译内容的完整性,这些内容可以在我的Maven依赖项中找到?
即使我已经通过HTTPS将已签名的Jar从已知存储库下载为Maven,也可能会出现此问题。我可能想到的安全方法是编译所有依赖项的可用源代码并使用输出。
答案 0 :(得分:0)
从某个时候开始,maven 构建可以重现——这意味着如果你获得源代码并在本地构建——结果将一点一点地相同。
更多信息可以在: