UNPKG

@sussudio/platform

Version:

Internal APIs for VS Code's service injection the base services.

30 lines (29 loc) 1.13 kB
/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ import { createDecorator } from '../../instantiation/common/instantiation.mjs'; export const IExtensionSignatureVerificationService = createDecorator('IExtensionSignatureVerificationService'); export class ExtensionSignatureVerificationService { moduleLoadingPromise; vsceSign() { if (!this.moduleLoadingPromise) { this.moduleLoadingPromise = new Promise((resolve, reject) => require(['node-vsce-sign'], async (obj) => { const instance = obj; return resolve(instance); }, reject), ); } return this.moduleLoadingPromise; } async verify(vsixFilePath, signatureArchiveFilePath) { let module; try { module = await this.vsceSign(); } catch (error) { return false; } return module.verify(vsixFilePath, signatureArchiveFilePath); } }