【发布时间】:2022-01-05 10:19:44
【问题描述】:
我正在开发一个开源项目,并且一直致力于使构建可重现,以便我的用户可以将我分发的二进制文件的校验和与他们自己的构建进行比较(如果他们要使用/从源代码)。
不幸的是,新版本的 Windows 和 MacOS 使用代码签名来检查二进制文件并在未签名的情况下阻止其执行(我知道有一些方法可以覆盖它并执行二进制文件,但这是不友好)。
我想对我分发的二进制文件进行签名,以便我的用户可以毫无问题地运行它们。但我不确定是否可以在保持可重现构建的同时做到这一点。
要使构建具有可重现性,最终用户必须拥有构建项目所需的所有工具/源代码,并且一旦编译,最终结果应该是与我的结果相同的二进制文件正在分发。但这意味着我必须分发用于签署二进制文件的私钥/证书,这不是一个好主意,原因有很多。
有没有办法同时拥有可重现的构建和签名的二进制文件?
【问题讨论】:
标签: build code-signing