electron windows 应用签名
一、证书名称
Windows EV 代码签名证书(EV Code Signing Certificate),全称是 Extended Validation Code Signing Certificate,中文一般叫 "扩展验证代码签名证书"。
二、购买渠道
国内可以在腾讯云购买,当然建议你货比三家,选择性价比高的,腾讯云 EV 证书相关文档:https://cloud.tencent.com/product/csc
三、什么是 EV 代码签名证书
Windows EV 代码签名证书(EV Code Signing Certificate),全称是 Extended Validation Code Signing Certificate,中文一般叫 "扩展验证代码签名证书"。它是微软和证书颁发机构(CA)一起推出的一种更高级别的数字签名证书,主要用来:
- 给可执行程序(如 .exe、.msi、.dll 文件)或者驱动程序(.sys 文件)进行签名。 保证软件的来源可信,防止被篡改。
- 让签名的软件在 Windows 系统中不会弹出难看的红色警告。
- 在 Windows 10/11 系统中,还能直接通过 SmartScreen 信誉校验,避免提示“未知发布者”的警告。
相比普通代码签名证书(Standard Code Signing Certificate),EV 证书有这些特点:
- 更高的验证要求:申请时需要公司提供更多的资料,比如营业执照、电话、公司地址,并且经过严格的人工审核。
- 必须使用硬件加密设备(比如 USB 加密狗或者 HSM 设备)来存储私钥,防止私钥被盗。
- 立即建立 SmartScreen 信任:普通证书签名的软件需要积累用户下载量才能被 SmartScreen 信任,而 EV 证书基本上是直接信任。
四、用 EV 证书签一个 .exe 文件的流程
EV 代码签名证书签一个.exe
文件的完整流程
1. 前提准备
- 有一张 EV 代码签名证书(比如 Digicert、Sectigo、GlobalSign 这些大 CA 颁发的)
- 证书是存在一个硬件设备里(通常是 CA 发给你的 USB Key,插在电脑上)
- 安装好 SignTool 工具(Windows SDK 里有,或者你也可以用别的代码签名工具)
- 准备好你要签名的 .exe 文件
2. 签名流程步骤
✅ 第 1 步:插入加密 Key
把 CA 给你的硬件 USB 插入电脑,保证设备已经安装好驱动,系统能识别出证书。
✅ 第 2 步:确认 SignTool 已经安装
打开命令行,输入:
signtool
如果有响应,说明安装好了。如果没装,需要安装 Windows SDK(里面有 SignTool)。
✅ 第 3 步:签名命令 基本签名命令长这样:
signtool sign /fd SHA256 /a /tr http://timestamp.digicert.com /td SHA256 /v "你的程序.exe"
解释一下参数:
/fd SHA256
:指定文件摘要算法(一般都是 SHA256)/a
:自动选择本地证书(通常如果只有一张 EV 证书,没问题)/tr
:时间戳服务器地址(不同 CA 有不同的 URL,比如 DigiCert 用 http://timestamp.digicert.com)/td SHA256
:时间戳摘要算法/v
:显示详细输出(方便看有没有出错)"你的程序.exe"
:就是你要签的可执行文件路径
⚡常见补充:
如果机器上装了很多证书,可以明确指定证书,比如加 /sha1
参数来指定使用哪个证书的指纹。
✅ 第 4 步:检查签名是否成功 签完后,可以用这个命令检查一下:
signtool verify /pa /v "你的程序.exe"
如果看到“Successfully verified”,就搞定了。
✅ 第 5 步(可选):双击测试一下 自己双击打开 .exe
文件,看看弹出的窗口,是显示绿色的"已验证发布者",不是“未知发布者”,那就是成功了!
3. 注意事项
- EV 证书是必须插着硬件 Key的,签名过程中拔掉会失败。
- Windows 10/11 对驱动程序(
.sys
文件)要求更高,还需要微软 WHQL 签名,不止代码签名。 - 有些杀毒软件可能会拦截新签名的软件,需要积累一点安装量。