Electron使用electron-builder打包windows时如何签名

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"设置的密码即可。全程中不能拔下来你的签名狗,不然签名会断开。

猜你喜欢

转载自blog.csdn.net/u013910042/article/details/119854440