Windows: No longer rely on electron-builder for code-signing
This commit is contained in:
@@ -385,6 +385,7 @@
|
||||
"signingHashAlgorithms": [
|
||||
"sha256"
|
||||
],
|
||||
"sign": "./ts/scripts/sign-windows.js",
|
||||
"publisherName": "Signal Messenger, LLC",
|
||||
"icon": "build/icons/win/icon.ico",
|
||||
"publish": [
|
||||
|
31
ts/scripts/sign-windows.ts
Normal file
31
ts/scripts/sign-windows.ts
Normal file
@@ -0,0 +1,31 @@
|
||||
// Copyright 2019 Signal Messenger, LLC
|
||||
// SPDX-License-Identifier: AGPL-3.0-only
|
||||
|
||||
import { execSync } from 'child_process';
|
||||
|
||||
import { realpath } from 'fs-extra';
|
||||
|
||||
import type { CustomWindowsSignTaskConfiguration } from 'electron-builder';
|
||||
|
||||
export async function sign(
|
||||
configuration: CustomWindowsSignTaskConfiguration
|
||||
): Promise<void> {
|
||||
// In CI, we remove certificate information from package.json to disable signing
|
||||
if (!configuration.options.certificateSha1) {
|
||||
return;
|
||||
}
|
||||
|
||||
const scriptPath = process.env.SIGN_WINDOWS_SCRIPT;
|
||||
if (!scriptPath) {
|
||||
throw new Error(
|
||||
'path to windows sign script must be provided in environment variable SIGN_WINDOWS_SCRIPT'
|
||||
);
|
||||
}
|
||||
|
||||
const target = realpath(configuration.path);
|
||||
|
||||
// The script will update the file in-place
|
||||
execSync(`bash ${scriptPath} ${target}`, {
|
||||
stdio: [null, process.stdout, process.stderr],
|
||||
});
|
||||
}
|
Reference in New Issue
Block a user