跳到内容
Tauri

Linux 代码签名

本指南提供 Linux 包代码签名的相关信息。虽然在 Linux 上部署应用程序不需要工件签名,但它有助于提高已部署应用程序的信任度。对二进制文件进行签名可以让最终用户验证其真实性,并确保其未被其他不可信实体修改。

AppImage 可以使用 gpg 或 gpg2 签名。

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

终端窗口
gpg2 --full-gen-key

有关更多信息,请参阅 gpg 或 gpg2 文档。您应该特别注意将您的私钥和公钥备份到安全位置。

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

  • SIGN:设置为 1 以签署 AppImage。
  • SIGN_KEY:可选变量,用于指定 GPG 密钥 ID 进行签名。
  • APPIMAGETOOL_SIGN_PASSPHRASE:签名密钥密码。如果未设置,gpg 将显示一个对话框,您可以输入密码。在 CI/CD 平台中构建时必须设置此项。
  • APPIMAGETOOL_FORCE_SIGN:默认情况下,即使签名失败也会生成 AppImage。要在错误时退出,可以将此变量设置为 1

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

终端窗口
./src-tauri/target/release/bundle/appimage/$APPNAME_$VERSION_amd64.AppImage --appimage-signature

请注意,您需要根据配置将 $APPNAME 和 $VERSION 的值更改为正确的值。

AppImage 验证工具可以从此处下载。选择其中一个 validate-$PLATFORM.AppImage 文件。

运行以下命令验证签名:

终端窗口
chmod +x validate-$PLATFORM.AppImage
./validate-$PLATFORM.AppImage $TAURI_OUTPUT.AppImage

如果签名有效,输出将是:

Validation result: validation successful
Signatures found with key fingerprints: $KEY_ID
====================
Validator report:
Signature checked for key with fingerprint $KEY_ID:
Validation successful

© 2025 Tauri 贡献者。CC-BY / MIT