Electron が electron-builder を使用してウィンドウをパッケージ化する場合の署名方法

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 証明書を秘密鍵なしでエクスポートしたため、パッケージ化プロセス中にポップアップ ウィンドウがポップアップし、パスワードの入力を求めるプロンプトが表示されます。2 番目の手順で設定したパスワードを入力してください」証明書パスワード」. . プロセス全体で署名犬のプラグを抜かないでください。そうしないと、署名が切断されます。

おすすめ

転載: blog.csdn.net/u013910042/article/details/119854440