2026/2/14 19:01:44
网站建设
项目流程
成都网站托管外包,小语种网站建设,贵阳监理建设网站,广西桂林天气预报15天1. 生成 GPG 密钥首先需要生成 GPG #xff08;GNU Privacy Guard#xff09;密钥对用于签名#xff1a;# 生成 GPG 密钥
gpg --gen-key# 选择密钥类型#xff08;推荐 RSA#xff09;
# 选择密钥大小#xff08;推荐 2048 或 4096#xff09;
# 设置密钥有效期#xf…1. 生成 GPG 密钥首先需要生成 GPG GNU Privacy Guard密钥对用于签名# 生成 GPG 密钥 gpg --gen-key # 选择密钥类型推荐 RSA # 选择密钥大小推荐 2048 或 4096 # 设置密钥有效期0 表示永不过期 # 输入姓名、邮箱和注释信息 # 设置保护私钥的密码查看生成的密钥gpg --list-keys2. 导出公钥将公钥导出以便其他人可以验证你的签名# 导出公钥到文件 gpg --armor --export your-emailexample.com public-key.gpg # 或者直接显示在终端 gpg --armor --export your-emailexample.com3. 安装 dpkg-sig 工具sudo apt-get install dpkg-sig4. 签名 Debian 包使用 dpkg-sig 对 Debian 包进行签名# 获取 GPG 密钥 ID从 gpg --list-keys 输出中获取 gpg --list-keys # 使用 dpkg-sig 签名包 dpkg-sig -k GPG密钥ID --sign builder package-name.deb # 示例 dpkg-sig -k E5124174 --sign builder aribas_1.64-6_amd64.deb5. 验证签名在同一台机器上验证dpkg-sig --verify package-name.deb如果验证成功将显示GOODSIG。在其他机器上验证首先导入签名者的公钥gpg --import public-key.gpg然后验证包签名dpkg-sig --verify package-name.deb6. 常见问题解决旧版本 dpkg-sig 的兼容性问题如果遇到BADSIG错误特别是对于 xz 压缩的包可能是 dpkg-sig 版本过旧# 手动下载新版本 wget http://archive.ubuntu.com/ubuntu/pool/main/d/dpkg-sig/dpkg-sig_0.13.1nmu4_all.deb # 解压并提取可执行文件 ar vx dpkg-sig_0.13.1nmu4_all.deb tar -xvf data.tar.xz # 使用新版本验证 ./usr/bin/dpkg-sig --verify package-name.deb7. 完整流程示例# 1. 生成密钥 gpg --gen-key # 2. 查看密钥ID gpg --list-keys # 3. 签名包 dpkg-sig -k E5124174 --sign builder my-package.deb # 4. 验证签名 dpkg-sig --verify my-package.deb # 5. 导出公钥供他人使用 gpg --armor --export your-emailexample.com my-public-key.gpg注意事项确保使用足够强度的密钥2048位或以上妥善保管私钥和密码在验证环境中正确导入公钥定期更新密钥和检查签名有效性通过以上步骤你可以确保 Debian 包的完整性和来源可信性满足安全标准要求。参考https://hussainaliakbar.github.io/generating-and-using-GPG-keys/ https://hussainaliakbar.github.io/digitally-signing-and-verification-of-debian-packages-with-dpkg-sig/