代码签名 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 文档 以获取更多信息。