You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Electron Forge构建Linux(Ubuntu)包代码签名问题求助

Ubuntu平台Electron Forge安装包代码签名方案(解决“潜在不安全”提示)

Ubuntu下DEB包弹出“潜在不安全”提示,核心原因是包未被系统信任的GPG密钥签名。以下是完整的签名及信任配置方案:

1. 生成GPG密钥对

首先创建用于签名的GPG密钥:

  • 执行密钥生成命令:
    gpg --full-generate-key
    
    按提示选择RSA密钥类型(推荐4096位长度)、设置有效期,填写姓名、邮箱等身份信息,完成密钥创建。
  • 导出公钥(用于用户端信任配置):
    gpg --armor --export your-email@example.com > public.key
    

2. 用dpkg-sig签名DEB包

你尝试的dpkg-sig是Ubuntu下签名DEB包的标准工具,正确操作步骤如下:

  • 安装dpkg-sig:
    sudo apt install dpkg-sig
    
  • 签名Electron Forge生成的DEB包:
    dpkg-sig --sign builder your-app.deb
    
    注:builder是签名标识,也可使用origin等类型,需确保GPG密钥在当前环境中可用(可通过gpg --list-keys确认)。
  • 验证签名有效性:
    dpkg-sig --verify your-app.deb
    
    输出中出现GOODSIG即表示签名成功。

3. 让用户系统信任你的公钥

仅签名包不足以消除安全提示,必须让用户将你的公钥加入系统信任列表:

新版Ubuntu推荐方式

  • 用户执行以下命令导入公钥:
    sudo install -m 0755 -d /usr/share/keyrings
    sudo cp public.key /usr/share/keyrings/your-app-archive-keyring.gpg
    
    若你提供软件源,可同时添加源配置(以APT源为例):
    echo "deb [signed-by=/usr/share/keyrings/your-app-archive-keyring.gpg] https://your-repo-url stable main" | sudo tee /etc/apt/sources.list.d/your-app.list
    

旧版Ubuntu兼容方式

  • 用户直接导入公钥:
    sudo apt-key add public.key
    

4. Electron Forge集成自动签名

在forge.config.js中配置DEB构建器,实现打包时自动签名:

module.exports = {
  makers: [
    {
      name: '@electron-forge/maker-deb',
      config: {
        options: {
          sign: true,
          signArgs: ['--sign', 'builder', '$DEB']
        }
      }
    }
  ]
};

注意:构建环境中需确保GPG密钥已正确加载,可通过设置GNUPGHOME环境变量指定密钥存储路径,或确保密钥在构建用户的密钥环中。

内容的提问来源于stack exchange,提问作者Akshay Desai

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 06:01:44