您如何创建“签名”的Deb程序包


Answers:


5

Ubuntu / Debian系统上的软件包签名非常混乱。从理论上讲,对deb程序包进行签名可以使接收您的程序包的人在您对程序包进行签名后验证其是否被修改。实际上,签名验证非常难以设置,并且默认情况下处于禁用状态。除非用户在本地进行大量设置,否则在安装软件包时他们将不会验证签名。

为了对软件包进行签名,您可以使用:debsigs或dpkg-sig。签名彼此不兼容,因此您需要确保用户在接收方使用正确的工具来验证签名。

dpkg-sig对您和用户都更易于使用,但是debsigs是在Ubuntu和Debian上具有内置支持(默认情况下已禁用)的工具。

我写了一篇博客文章,其中包含签名和验证源软件包(.dsc文件),二进制软件包(.deb)和APT软件包存储库本身的所有技术细节:http : //blog.packagecloud.io/eng/2014/ 10/28 / howto-gpg-sign-verify-deb-packages-apt-repositories /


似乎事实是,.changes文件中也可以包含二进制.deb软件包(就Debian / Ubuntu的官方打包链而言)。在此答案和链接的博客文章中被省略。
arand

1

Debian / Ubuntu上的软件包签名通常是通过.changes文件完成的。生成软件包时,您通常会得到一个.changes文件,列出生成结果(源和/或二进制软件包)及其校验和,在对软件包进行签名时,这通常是您要签名的文件(因此可以验证包完整性(通过其校验和)。

签署.changes文件的最简单方法是使用 debsign

debsign hello_1.0_amd64.changes

如果您在gnupg钥匙串中具有主键,并且运行dpkg-buildpackagedebuild不使用-usand -uc开关,则此操作将自动发生。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.