如何使用EV代码签名证书签名Brave与Chromium迷你安装器
解决Brave和Chromium迷你安装器全文件签名问题
Chromium 签名配置方案
Chromium构建系统内置签名流程,直接通过构建参数配置,避免手动签名后被重新编译覆盖:
- 修改构建参数文件
编辑out/Default/args.gn,添加以下签名相关配置(替换为你的实际信息):enable_signing = true sign_tool = "signtool.exe" # 若未加入PATH,填写绝对路径,如C:\...\signtool.exe sign_pfx_path = "D:/certs/your-ev-cert.pfx" # PFX文件绝对路径 sign_pfx_password = "your-pfx-password" sign_timestamp_url = "http://timestamp.digicert.com" # EV证书建议添加时间戳,防止证书过期后签名失效 - 重新生成构建配置并执行构建
先执行gn gen out/Default更新构建配置,再运行:
构建过程中,Chromium会在每个exe/dll编译完成后自动调用签名工具,最终迷你安装器打包的都是已签名文件。autoninja -C out\Default mini_installer
Brave 签名配置方案
Brave基于Chromium,签名逻辑一致,通过配置构建参数让npm run create_dist流程自动签名:
- 配置签名参数
找到Brave项目内的src/out/Default/args.gn(路径可能因Brave版本略有调整),添加和Chromium相同的签名配置:enable_signing = true sign_tool = "signtool.exe" sign_pfx_path = "D:/certs/your-ev-cert.pfx" sign_pfx_password = "your-pfx-password" sign_timestamp_url = "http://timestamp.digicert.com" - 执行签名构建
先更新构建配置:
再运行Brave的构建命令:gn gen src/out/Default
整个构建流程会自动完成所有文件的签名,最终产出的迷你安装器包含已签名的exe/dll等文件。npm run create_dist
关键注意事项
- 确保
signtool.exe可用:它属于Windows SDK组件,需将其所在路径加入系统PATH,或在配置中填写绝对路径。 - EV证书硬件要求:若你的EV证书存储在加密狗中,构建时需确保加密狗已连接并解锁,否则签名会失败。
- 禁止手动预签名:手动签名会改变文件哈希,触发Chromium/Brave构建系统的增量编译检测,导致所有文件被重新编译覆盖,必须依赖构建内置的签名流程。
内容的提问来源于stack exchange,提问作者Naeem
相关产品推荐
相关产品推荐

