MCPcopy Index your code
hub / github.com/nodejs/node / signSEA

Function signSEA

test/common/sea.js:205–241  ·  view source on GitHub ↗
(targetExecutable, verifyWorkflow = false)

Source from the content-addressed store, hash-verified

203}
204
205function signSEA(targetExecutable, verifyWorkflow = false) {
206 if (process.platform === 'darwin') {
207 try {
208 spawnSyncAndExitWithoutError('codesign', [ '--sign', '-', targetExecutable ]);
209 spawnSyncAndExitWithoutError('codesign', [ '--verify', targetExecutable ]);
210 } catch (e) {
211 const message = `Cannot sign ${targetExecutable}: ${inspect(e)}`;
212 if (verifyWorkflow) {
213 throw new Error(message, { cause: e });
214 }
215 common.skip(message);
216 }
217 console.log(`Signed ${targetExecutable}`);
218 } else if (process.platform === 'win32') {
219 try {
220 spawnSyncAndExitWithoutError('where', [ 'signtool' ]);
221 } catch (e) {
222 const message = `Cannot find signtool: ${inspect(e)}`;
223 if (verifyWorkflow) {
224 throw new Error(message, { cause: e });
225 }
226 common.skip(message);
227 }
228 let stderr;
229 try {
230 ({ stderr } = spawnSyncAndExitWithoutError('signtool', [ 'sign', '/fd', 'SHA256', targetExecutable ]));
231 spawnSyncAndExitWithoutError('signtool', ['verify', '/pa', 'SHA256', targetExecutable]);
232 } catch (e) {
233 const message = `Cannot sign ${targetExecutable}: ${inspect(e)}\n${stderr}`;
234 if (verifyWorkflow) {
235 throw new Error(message, { cause: e });
236 }
237 common.skip(message);
238 }
239 console.log(`Signed ${targetExecutable}`);
240 }
241}
242
243module.exports = {
244 skipIfBuildSEAIsNotSupported,

Callers 2

buildSEAFunction · 0.85
generateSEAFunction · 0.85

Calls 4

inspectFunction · 0.50
skipMethod · 0.45
logMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…