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

Electron.NET应用数字签名流程及Electron.Manifest.json配置问题咨询

Electron.NET Windows平台应用数字签名操作指引

前置准备

  • 申请合法的Windows代码签名证书,优先选择EV级证书,签名后可直接绕过SmartScreen筛选器警告;普通OV级证书需要累计一定安装量后才会消除未知发布者警告
  • 本地环境已安装signtool.exe,该工具随Windows SDK或Visual Studio桌面开发组件自带,可直接在VS开发者命令行中调用
  • 确保项目无签名状态下可正常执行dotnet electronize build命令生成Windows安装包/便携包

Electron.Manifest.json 相关配置项

配置文件中windows节点下可直接添加签名相关字段,编译阶段会自动调用签名逻辑:

{
  "build": {
    "win": {
      "sign": true,
      "certificateFile": "./你的证书文件.pfx",
      "certificatePassword": "你的证书密码",
      "publisherName": "你的企业/开发者官方名称",
      "requestedExecutionLevel": "asInvoker"
    }
  }
}

注意:生产环境不要把证书密码硬编码在配置文件中,建议通过环境变量动态传入,避免证书泄露。

完整签名操作流程

方案1:编译阶段自动签名

  1. 将上述配置补充到Electron.Manifest.json,替换证书路径、发布者名称为实际信息
  2. 执行打包命令:dotnet electronize build /target win
  3. 编译过程会自动调用signtool对生成的主程序exe、安装包、依赖dll进行签名,打包完成后可右键点击exe文件-属性-数字签名,验证签名是否生效

方案2:编译完成后手动签名

如果不想把证书信息存放在项目配置中,可在打包完成后单独签名:

  1. 先正常执行dotnet electronize build /target win生成未签名的输出文件
  2. 打开VS开发者命令行,进入输出文件所在目录
  3. 执行签名命令:
signtool sign /f 你的证书.pfx /p 证书密码 /t http://timestamp.digicert.com /fd SHA256 "目标文件.exe"
  • 命令中的时间戳地址可替换为你的证书颁发商提供的对应地址,必须添加时间戳参数,否则证书过期后签名会直接失效
  • 建议对输出目录内所有exe、msi、dll格式文件都执行一遍签名,避免部分文件未签名触发安全警告

签名验证

右键点击已签名的exe文件,选择「属性」-「数字签名」,如果能看到你的签名信息且状态显示为正常,即代表签名生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 03:57:04