Electron使用electron-builder打包windows时如何签名
程序员文章站
2022-03-03 22:39:38
...
windows打包基本配置:
"build": {
...
"win": {
"icon": "{path}/xxx.ico", // ico图标地址
"artifactName": "{appName}-win-${version}.${ext}", // 打包后的app名称 "名称-类型-版本.后缀"
"target": [ // 打包类型
"msi",
"zip"
],
"extraResources": [ //从本地复制的文件
{
"from": "resources/xxx",
"to": "xxx"
}
],
"requestedExecutionLevel": "highestAvailable", // 权限
"verifyUpdateCodeSignature": false,
"signingHashAlgorithms": [ // 代表加密的方式,一般分为'sha256'与'sha1'两种方式,都进行加密即可
"sha256"
],
"signDlls": true, // dll文件是否签名
"rfc3161TimeStampServer":"http://timestamp.comodoca.com/rfc3161", // 时间戳
"certificateFile": "xxx.pfx", // 证书的地址,必须位pfx格式
"certificatePassword": "xxxxx" // 证书的私钥密码
},
...
}
当签名时,提示时间戳服务请求超时或者错误时,可以更换为以下时间戳服务地址:
"rfc3161TimeStampServer":
"http://timestamp.globalsign.com/scripts/timestamp.dll"
"http://timestamp.digicert.com"
"http://timestamp.comodoca.com/rfc3161"
"http://sha256timestamp.ws.symantec.com/sha256/timestamp"
当无法进行导出pfx证书,只能导出cer格式的不带私钥的证书,对electron来说是不行的。若要对打包完的exe进行签名,就需要在打包的时候就将证书打进去。
解决方法:
将导出的cer格式证书,后缀名修改为pfx,将证书放到项目目录下,并修改"certificateFile"为保存的pfx文件
这个时候就可以进行打包了,由于我们导出的是不带私钥的pfx证书,所以在打包过程中会弹出弹窗提示你需要输入密码,输入你在第二步"certificatePassword"设置的密码即可。全程中不能拔下来你的签名狗,不然签名会断开。