support.vsign.com Open in urlscan Pro
2400:7fc0:8f5e:4702:692:3506:6e8:bd90  Public Scan

URL: https://support.vsign.com/docs/prologue/electron_config/
Submission: On July 29 via api from US — Scanned from DE

Form analysis 1 forms found in the DOM

<form class="navbar-form flex-grow-1 order-7 order-md-3">
  <input id="userinput" class="form-control is-search" type="search" placeholder="Search docs..." aria-label="Search docs..." autocomplete="off">
  <div id="suggestions" class="shadow bg-white rounded"></div>
</form>

Text Content

VSign
 * 产品文档
 * 技术文档
 * 官网





产品文档

 * VSigntool V2.0 代码签名工具


技术文档

 * Windows 中如何正确注册签名服务
 * MacOS 签名机制
 * Electron Builder 集成 VSign
 * Electron Builder 使用软证书签名
 * 共享证书实时审批
 * 本地代理映射机制


HELP

 * FAQ


ON THIS PAGE

 * 概要
 * 配置环境变量
 * Windows 平台
 * Travis, AppVeyor And Other CI Servers
 * 购买代码签名证书
 * MacOS 如何导出证书
 * 构建过程中如何禁用签名


ELECTRON BUILDER 使用软证书签名

打包框架 electron_builder 如何配置签名参数


概要#

签名操作支持 MacOS 和 Windows 系统,其中 Windows 默认使用SHA1 & SHA2 双签名。

在 MacOS 系统上,将自动使用 KeyChain 中的有效和适当的证书,MacOS
系统不仅要求对打包的应用程序进行开发者证书签名,还需要将应用程序提交公证,在线验证签名的应用程序是否符合规范。请参考 MacOS 公证


配置环境变量#

名称 描述 CSC_LINK 指定(.pfx 、.p12) 证书路径,支持一下格式:https路径、base64编码数据、链接file://、本地路径
CSC_KEY_PASSWORD 指定证书密码 CSC_NAME 指定证书名称,仅限 macOS(用于从 login.keychain 检索)
CSC_IDENTITY_AUTO_DISCOVERY 表明是否自动查找签名证书,默认为true。在 macOS 开发环境中,将自动使用 keychain
中的有效和适当证书 CSC_KEYCHAIN 钥匙串名称。 如果未指定 CSC_LINK 则使用, 则使用默认钥匙串 WIN_CSC_LINK 代替
CSC_LINK, 当在 macOS 上构建 windows 时 WIN_CSC_KEY_PASSWORD 代替CSC_KEY_PASSWORD, 当在
macOS 上构建 windows 时


WINDOWS 平台#

签名可用的代码签名证书分为 常规型 和 EV型。

两种证书都可以自动更新。
常规(通常更便宜)的代码签名证书签出的应用程序会在安装过程中显示警告,一旦有足够的用户安装了您的应用程序并且您建立了信任关系,该警告就会消失。

EV证书具有更高的信任度,因此可以立即工作而不会发出任何警告。 但是,由于它已绑定在物理USB中,无法导出。因此,无法导出用于在CI(例如AppVeyor)。

如果使用的是EV证书,则需要在 electron builder 配置中提供win.certificateSubjectName。

如果使用 Windows 7,请确保将 PowerShell 更新到版本3.0。


TRAVIS, APPVEYOR AND OTHER CI SERVERS#

签名之前,必须配置 CSC_LINK, CSC_KEY_PASSWORD.

1. 导出签名证书。构建不会对特殊字符进行转义,所有证书密码不能包含特殊字符。

2. 证书编码为 base64。
    MacOS: base64 -i  cert.p12 -o envValue.txt
    Linux: base64 cert.p12 > envValue.txt


或者上传证书,例如 Google Drive,使用网络链接:

1. 设置CSC_LINK,CSC_KEY_PASSWORD, 建议设置在 CI 项目配置里。链接需要正确转义。

*在AppVeyor上,需要打开开关:【切换变量加密】*



购买代码签名证书#

For Windows: 请参考 如何获取代码签名证书?

For macOS: Gatekeeper 仅识别苹果数字证书


MACOS 如何导出证书#

1. 打开"KeyChain", 选择 "登录" 和 ”我的证书“ 类别。

2. "Developer ID Application": 签名开发者应用。

3. "3rd Party Mac Developer Application", "3rd Party Mac Developer Installer": 为发布到苹果应用商店的程序签名。
4. "Developer ID Application", "Developer ID Installer": 为应用程序和安装程序签名,分发到苹果应用商店以外。
5. "Mac Developer":  签名用于测试 苹果应用商店 提交的开发版本。
6. 在上下文菜单中,选择导出按钮



构建过程中如何禁用签名#

保留其他变量不变,只需要 设置 CSC_IDENTIFY_AUTO_DISCOVERY 为 false:

export CSC_IDENTIFY_AUTO_DISCOVERY = false

或者 设置 mac.identify 为 null:

for CLI, -c.mac.identify=null

← Electron Builder 集成 VSign
共享证书实时审批 →
 * Copyright © 2022 亚数信息科技(上海)有限公司 沪ICP备 14008008 号