跳至主要内容

代码签名 Linux 包

本指南提供有关 Linux 包代码签名的信息。

需求

  • gpg 或 gpg2

必须准备一个用于签名的密钥。可以使用以下命令生成一个新的密钥:

gpg2 --full-gen-key

请参考 gpg 或 gpg2 文档以获取更多信息。您应该格外注意将您的私钥和公钥备份到安全的位置。

AppImage 签名

您可以通过设置以下环境变量将签名嵌入到 AppImage 中:

  • **SIGN**: 设置为 1 以对 AppImage 进行签名。
  • **SIGN_KEY**: 可选变量,用于指定用于签名的 GPG 密钥 ID。
  • **APPIMAGETOOL_SIGN_PASSPHRASE**: 签名密钥密码。如果未设置,gpg 将显示一个对话框,以便您可以输入密码。在运行自动化任务时必须设置此变量。

您可以通过运行以下命令来显示嵌入在 AppImage 中的签名:

./src-tauri/target/release/bundle/appimage/$APPNAME_$VERSION_amd64.AppImage --appimage-signature

请注意,您需要根据您的配置使用正确的 $APPNAME 和 $VERSION 值进行替换。

签名未经验证

AppImage 不验证签名,因此您无法依赖它来检查文件是否被篡改。要验证签名,您必须为您的用户提供一个外部工具。请参阅 官方 AppImage 文档 以获取更多信息。