验证从开源编译的Maven依赖项Jars(.class文件)

时间:2015-12-08 17:44:40

标签: java maven security jar pgp

我想验证Jar(.class)文件是从相同的源编译的,这些源可以在线获得,甚至可以在Jar本身中获得。 从理论上讲,有人可以将已编译的Jar上传到Maven存储库,并使用PGP进行签名。但是,已编译的内容可能与上传的内容不同,并且包含恶意软件(请参阅exampleanother one)。

如何验证jars中编译内容的完整性,这些内容可以在我的Maven依赖项中找到?

即使我已经通过HTTPS将已签名的Jar从已知存储库下载为Maven,也可能会出现此问题。我可能想到的安全方法是编译所有依赖项的可用源代码并使用输出。

1 个答案:

答案 0 :(得分:0)

从某个时候开始,maven 构建可以重现——这意味着如果你获得源代码并在本地构建——结果将一点一点地相同。

更多信息可以在: