@salesforce/plugin-trust 2.5.0-qa.1 → 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commands/plugins/trust/verify.d.ts +2 -2
- package/lib/commands/plugins/trust/verify.js +11 -13
- package/lib/commands/plugins/trust/verify.js.map +1 -1
- package/lib/hooks/jitPluginInstall.js +4 -7
- package/lib/hooks/jitPluginInstall.js.map +1 -1
- package/lib/hooks/verifyInstallSignature.d.ts +0 -8
- package/lib/hooks/verifyInstallSignature.js +16 -16
- package/lib/hooks/verifyInstallSignature.js.map +1 -1
- package/lib/shared/NpmName.d.ts +1 -1
- package/lib/shared/NpmName.js +4 -15
- package/lib/shared/NpmName.js.map +1 -1
- package/lib/shared/errors.d.ts +6 -0
- package/lib/shared/errors.js +21 -0
- package/lib/shared/errors.js.map +1 -0
- package/lib/shared/installationVerification.d.ts +11 -22
- package/lib/shared/installationVerification.js +120 -127
- package/lib/shared/installationVerification.js.map +1 -1
- package/lib/shared/npmCommand.d.ts +2 -37
- package/lib/shared/npmCommand.js +9 -24
- package/lib/shared/npmCommand.js.map +1 -1
- package/oclif.manifest.json +1 -1
- package/package.json +28 -30
|
@@ -10,8 +10,8 @@ export declare class Verify extends SfCommand<VerifyResponse> {
|
|
|
10
10
|
static readonly hidden: true;
|
|
11
11
|
static readonly flags: {
|
|
12
12
|
npm: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
13
|
-
registry: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
14
|
-
loglevel: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
13
|
+
registry: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
14
|
+
loglevel: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
15
15
|
};
|
|
16
16
|
private static getVerifier;
|
|
17
17
|
run(): Promise<VerifyResponse>;
|
|
@@ -11,6 +11,7 @@ const sf_plugins_core_1 = require("@salesforce/sf-plugins-core");
|
|
|
11
11
|
const core_1 = require("@salesforce/core");
|
|
12
12
|
const installationVerification_1 = require("../../../shared/installationVerification");
|
|
13
13
|
const NpmName_1 = require("../../../shared/NpmName");
|
|
14
|
+
const errors_1 = require("../../../shared/errors");
|
|
14
15
|
core_1.Messages.importMessagesDirectory(__dirname);
|
|
15
16
|
const messages = core_1.Messages.loadMessages('@salesforce/plugin-trust', 'verify');
|
|
16
17
|
class Verify extends sf_plugins_core_1.SfCommand {
|
|
@@ -42,28 +43,25 @@ class Verify extends sf_plugins_core_1.SfCommand {
|
|
|
42
43
|
logger.debug(`meta.verified: ${meta.verified}`);
|
|
43
44
|
if (!meta.verified) {
|
|
44
45
|
const e = messages.createError('FailedDigitalSignatureVerification');
|
|
45
|
-
|
|
46
|
-
// @ts-ignore override readonly .name field
|
|
47
|
-
e.name = 'FailedDigitalSignatureVerification';
|
|
48
|
-
throw e;
|
|
46
|
+
throw (0, errors_1.setErrorName)(e, 'FailedDigitalSignatureVerification');
|
|
49
47
|
}
|
|
50
48
|
const message = `Successfully validated digital signature for ${npmName.name}.`;
|
|
51
49
|
if (!flags.json) {
|
|
52
50
|
vConfig.log(message);
|
|
53
51
|
}
|
|
54
|
-
|
|
55
|
-
return { message, verified: true };
|
|
56
|
-
}
|
|
52
|
+
return { message, verified: true };
|
|
57
53
|
}
|
|
58
54
|
catch (error) {
|
|
59
|
-
|
|
60
|
-
|
|
55
|
+
if (!(error instanceof Error)) {
|
|
56
|
+
throw error;
|
|
57
|
+
}
|
|
58
|
+
logger.debug(`err reported: ${JSON.stringify(error, null, 4)}`);
|
|
61
59
|
const response = {
|
|
62
60
|
verified: false,
|
|
63
|
-
message:
|
|
61
|
+
message: error.message,
|
|
64
62
|
};
|
|
65
|
-
if (
|
|
66
|
-
let message =
|
|
63
|
+
if (error.name === 'NotSigned') {
|
|
64
|
+
let message = error.message;
|
|
67
65
|
if (await vConfig.verifier.isAllowListed()) {
|
|
68
66
|
message = `The plugin [${npmName.name}] is not digitally signed but it is allow-listed.`;
|
|
69
67
|
vConfig.log(message);
|
|
@@ -76,7 +74,7 @@ class Verify extends sf_plugins_core_1.SfCommand {
|
|
|
76
74
|
}
|
|
77
75
|
return response;
|
|
78
76
|
}
|
|
79
|
-
throw core_1.SfError.wrap(
|
|
77
|
+
throw core_1.SfError.wrap(error);
|
|
80
78
|
}
|
|
81
79
|
}
|
|
82
80
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify.js","sourceRoot":"","sources":["../../../../src/commands/plugins/trust/verify.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,iEAAyE;AACzE,2CAA6D;AAC7D,uFAAuH;AACvH,qDAAkD;
|
|
1
|
+
{"version":3,"file":"verify.js","sourceRoot":"","sources":["../../../../src/commands/plugins/trust/verify.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,6 @@ const core_1 = require("@salesforce/core");
|
|
|
11
11
|
const appInsights_1 = require("@salesforce/telemetry/lib/appInsights");
|
|
12
12
|
const hook = async function (opts) {
|
|
13
13
|
try {
|
|
14
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call
|
|
15
14
|
global.cliTelemetry?.record({
|
|
16
15
|
eventName: 'JIT_INSTALL_STARTED',
|
|
17
16
|
type: 'EVENT',
|
|
@@ -20,7 +19,6 @@ const hook = async function (opts) {
|
|
|
20
19
|
command: opts.command.id,
|
|
21
20
|
});
|
|
22
21
|
await opts.config.runCommand('plugins:install', [`${opts.command.pluginName}@${opts.pluginVersion}`]);
|
|
23
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call
|
|
24
22
|
global.cliTelemetry?.record({
|
|
25
23
|
eventName: 'JIT_INSTALL_SUCCESS',
|
|
26
24
|
type: 'EVENT',
|
|
@@ -30,14 +28,13 @@ const hook = async function (opts) {
|
|
|
30
28
|
});
|
|
31
29
|
}
|
|
32
30
|
catch (error) {
|
|
33
|
-
const err = error;
|
|
34
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call
|
|
35
31
|
global.cliTelemetry?.record({
|
|
36
32
|
eventName: 'JIT_INSTALL_FAILED',
|
|
37
33
|
type: 'EVENT',
|
|
38
|
-
message:
|
|
39
|
-
|
|
40
|
-
|
|
34
|
+
message: error instanceof Error ? error.message : 'malformed error',
|
|
35
|
+
stackTrace: error instanceof Error
|
|
36
|
+
? error?.stack?.replace(new RegExp(os.homedir(), 'g'), appInsights_1.AppInsights.GDPR_HIDDEN)
|
|
37
|
+
: undefined,
|
|
41
38
|
version: opts.pluginVersion,
|
|
42
39
|
plugin: opts.command.pluginName,
|
|
43
40
|
command: opts.command.id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jitPluginInstall.js","sourceRoot":"","sources":["../../src/hooks/jitPluginInstall.ts"],"names":[],"mappings":";;AAAA;;;;;GAKG;AACH,yBAAyB;AAEzB,2CAA2C;AAE3C,uEAAoE;AAIpE,MAAM,IAAI,GAAqC,KAAK,WAAW,IAAI;IACjE,IAAI;QACF,
|
|
1
|
+
{"version":3,"file":"jitPluginInstall.js","sourceRoot":"","sources":["../../src/hooks/jitPluginInstall.ts"],"names":[],"mappings":";;AAAA;;;;;GAKG;AACH,yBAAyB;AAEzB,2CAA2C;AAE3C,uEAAoE;AAIpE,MAAM,IAAI,GAAqC,KAAK,WAAW,IAAI;IACjE,IAAI;QACF,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC;YAC1B,SAAS,EAAE,qBAAqB;YAChC,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,IAAI,CAAC,aAAa;YAC3B,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU;YAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;SACzB,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;QAEtG,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC;YAC1B,SAAS,EAAE,qBAAqB;YAChC,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,IAAI,CAAC,aAAa;YAC3B,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU;YAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;SACzB,CAAC,CAAC;KACJ;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC;YAC1B,SAAS,EAAE,oBAAoB;YAC/B,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB;YACnE,UAAU,EACR,KAAK,YAAY,KAAK;gBACpB,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,EAAE,yBAAW,CAAC,WAAW,CAAC;gBAC/E,CAAC,CAAC,SAAS;YACf,OAAO,EAAE,IAAI,CAAC,aAAa;YAC3B,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU;YAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;SACzB,CAAC,CAAC;QAEH,MAAM,IAAI,cAAO,CAAC,qBAAqB,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,uBAAuB,CAAC,CAAC;KAC5F;AACH,CAAC,CAAC;AAEF,kBAAe,IAAI,CAAC"}
|
|
@@ -1,11 +1,3 @@
|
|
|
1
1
|
import { Hook } from '@oclif/core';
|
|
2
|
-
import { ConfigContext, VerificationConfig } from '../shared/installationVerification';
|
|
3
|
-
import { NpmName } from '../shared/NpmName';
|
|
4
|
-
/**
|
|
5
|
-
* Build a VerificationConfig. Useful for testing.
|
|
6
|
-
*/
|
|
7
|
-
export declare class VerificationConfigBuilder {
|
|
8
|
-
static build(npmName: NpmName, configContext: ConfigContext): VerificationConfig;
|
|
9
|
-
}
|
|
10
2
|
export declare const hook: Hook.PluginsPreinstall;
|
|
11
3
|
export default hook;
|
|
@@ -6,28 +6,18 @@
|
|
|
6
6
|
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.hook =
|
|
9
|
+
exports.hook = void 0;
|
|
10
10
|
const core_1 = require("@salesforce/core");
|
|
11
11
|
const core_2 = require("@oclif/core");
|
|
12
12
|
const installationVerification_1 = require("../shared/installationVerification");
|
|
13
13
|
const NpmName_1 = require("../shared/NpmName");
|
|
14
|
-
/**
|
|
15
|
-
* Build a VerificationConfig. Useful for testing.
|
|
16
|
-
*/
|
|
17
|
-
class VerificationConfigBuilder {
|
|
18
|
-
static build(npmName, configContext) {
|
|
19
|
-
const vConfig = new installationVerification_1.VerificationConfig();
|
|
20
|
-
vConfig.verifier = new installationVerification_1.InstallationVerification().setPluginNpmName(npmName).setConfig(configContext);
|
|
21
|
-
return vConfig;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
exports.VerificationConfigBuilder = VerificationConfigBuilder;
|
|
25
14
|
const hook = async function (options) {
|
|
26
15
|
if (options.plugin && options.plugin.type === 'npm') {
|
|
27
16
|
const logger = await core_1.Logger.child('verifyInstallSignature');
|
|
28
17
|
const plugin = options.plugin;
|
|
29
18
|
// skip if the plugin version being installed is listed in the CLI's JIT config
|
|
30
19
|
if (plugin.tag &&
|
|
20
|
+
options.config.pjson.oclif.jitPlugins &&
|
|
31
21
|
plugin.name in options.config.pjson.oclif.jitPlugins &&
|
|
32
22
|
options.config.pjson.oclif.jitPlugins?.[plugin.name] === plugin.tag) {
|
|
33
23
|
logger.debug(`Skipping verification for ${options.plugin.name} because it is listed in the CLI's JIT config.`);
|
|
@@ -46,7 +36,7 @@ const hook = async function (options) {
|
|
|
46
36
|
dataDir: options.config.dataDir,
|
|
47
37
|
cliRoot: options.config.root,
|
|
48
38
|
};
|
|
49
|
-
const vConfig =
|
|
39
|
+
const vConfig = buildVerificationConfig(npmName, configContext);
|
|
50
40
|
logger.debug('finished building the VerificationConfigBuilder');
|
|
51
41
|
try {
|
|
52
42
|
logger.debug('doing verification');
|
|
@@ -54,9 +44,11 @@ const hook = async function (options) {
|
|
|
54
44
|
core_2.ux.log('Finished digital signature check.');
|
|
55
45
|
}
|
|
56
46
|
catch (error) {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
47
|
+
if (!(error instanceof Error)) {
|
|
48
|
+
throw error;
|
|
49
|
+
}
|
|
50
|
+
logger.debug(error.message);
|
|
51
|
+
this.error(error);
|
|
60
52
|
}
|
|
61
53
|
}
|
|
62
54
|
else {
|
|
@@ -65,4 +57,12 @@ const hook = async function (options) {
|
|
|
65
57
|
};
|
|
66
58
|
exports.hook = hook;
|
|
67
59
|
exports.default = exports.hook;
|
|
60
|
+
/**
|
|
61
|
+
* Build a VerificationConfig. Useful for testing.
|
|
62
|
+
*/
|
|
63
|
+
const buildVerificationConfig = (npmName, configContext) => {
|
|
64
|
+
const vConfig = new installationVerification_1.VerificationConfig();
|
|
65
|
+
vConfig.verifier = new installationVerification_1.InstallationVerification().setPluginNpmName(npmName).setConfig(configContext);
|
|
66
|
+
return vConfig;
|
|
67
|
+
};
|
|
68
68
|
//# sourceMappingURL=verifyInstallSignature.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verifyInstallSignature.js","sourceRoot":"","sources":["../../src/hooks/verifyInstallSignature.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAGH,
|
|
1
|
+
{"version":3,"file":"verifyInstallSignature.js","sourceRoot":"","sources":["../../src/hooks/verifyInstallSignature.ts"],"names":[],"mappings":"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"}
|
package/lib/shared/NpmName.d.ts
CHANGED
package/lib/shared/NpmName.js
CHANGED
|
@@ -8,6 +8,7 @@ exports.NpmName = void 0;
|
|
|
8
8
|
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
9
9
|
*/
|
|
10
10
|
const core_1 = require("@salesforce/core");
|
|
11
|
+
const errors_1 = require("./errors");
|
|
11
12
|
/**
|
|
12
13
|
* String representing the parsed components of an NpmName
|
|
13
14
|
*
|
|
@@ -30,11 +31,7 @@ class NpmName {
|
|
|
30
31
|
*/
|
|
31
32
|
static parse(npmName) {
|
|
32
33
|
if (!npmName || npmName.length < 1) {
|
|
33
|
-
|
|
34
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
35
|
-
// @ts-ignore override readonly .name field
|
|
36
|
-
err.name = 'MissingOrInvalidNpmName';
|
|
37
|
-
throw err;
|
|
34
|
+
throw (0, errors_1.setErrorName)(new core_1.SfError('The npm name is missing or invalid.', 'MissingOrInvalidNpmName'), 'MissingOrInvalidNpmName');
|
|
38
35
|
}
|
|
39
36
|
const returnNpmName = new NpmName();
|
|
40
37
|
const components = npmName.split('@');
|
|
@@ -75,11 +72,7 @@ class NpmName {
|
|
|
75
72
|
returnNpmName.name = NpmName.validateComponentString(subComponents[0]);
|
|
76
73
|
}
|
|
77
74
|
else {
|
|
78
|
-
|
|
79
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
80
|
-
// @ts-ignore override readonly .name field
|
|
81
|
-
err.name = 'InvalidNpmName';
|
|
82
|
-
throw err;
|
|
75
|
+
throw (0, errors_1.setErrorName)(new core_1.SfError('The npm name is invalid.', 'InvalidNpmName'), 'InvalidNpmName');
|
|
83
76
|
}
|
|
84
77
|
}
|
|
85
78
|
/**
|
|
@@ -94,11 +87,7 @@ class NpmName {
|
|
|
94
87
|
return trimmedName;
|
|
95
88
|
}
|
|
96
89
|
else {
|
|
97
|
-
|
|
98
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
99
|
-
// @ts-ignore override readonly .name field
|
|
100
|
-
err.name = 'MissingOrInvalidNpmName';
|
|
101
|
-
throw err;
|
|
90
|
+
throw (0, errors_1.setErrorName)(new core_1.SfError('The npm name is missing or invalid.', 'MissingOrInvalidNpmName'), 'MissingOrInvalidNpmName');
|
|
102
91
|
}
|
|
103
92
|
}
|
|
104
93
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NpmName.js","sourceRoot":"","sources":["../../src/shared/NpmName.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,2CAA2C;
|
|
1
|
+
{"version":3,"file":"NpmName.js","sourceRoot":"","sources":["../../src/shared/NpmName.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2023, salesforce.com, inc.
|
|
4
|
+
* All rights reserved.
|
|
5
|
+
* Licensed under the BSD 3-Clause license.
|
|
6
|
+
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.setErrorName = void 0;
|
|
10
|
+
/**
|
|
11
|
+
* convenience method for doing something SfError doesn't allow
|
|
12
|
+
* (explicitly setting the error name)
|
|
13
|
+
*/
|
|
14
|
+
const setErrorName = (err, name) => {
|
|
15
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
16
|
+
// @ts-ignore override readonly .name field
|
|
17
|
+
err.name = name;
|
|
18
|
+
return err;
|
|
19
|
+
};
|
|
20
|
+
exports.setErrorName = setErrorName;
|
|
21
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/shared/errors.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAIH;;;GAGG;AACI,MAAM,YAAY,GAAG,CAAC,GAAY,EAAE,IAAY,EAAW,EAAE;IAClE,6DAA6D;IAC7D,2CAA2C;IAC3C,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;IAChB,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AALW,QAAA,YAAY,gBAKvB"}
|
|
@@ -3,7 +3,6 @@ import { Readable } from 'stream';
|
|
|
3
3
|
import { URL } from 'url';
|
|
4
4
|
import { NpmMeta } from '../shared/npmCommand';
|
|
5
5
|
import { NpmName } from './NpmName';
|
|
6
|
-
export declare const ALLOW_LIST_FILENAME = "unsignedPluginAllowList.json";
|
|
7
6
|
export declare const DEFAULT_REGISTRY = "https://registry.npmjs.org/";
|
|
8
7
|
export interface ConfigContext {
|
|
9
8
|
configDir?: string;
|
|
@@ -15,10 +14,10 @@ export interface Verifier {
|
|
|
15
14
|
verify(): Promise<NpmMeta>;
|
|
16
15
|
isAllowListed(): Promise<boolean>;
|
|
17
16
|
}
|
|
18
|
-
|
|
19
|
-
private signature
|
|
20
|
-
private publicKey
|
|
21
|
-
private data
|
|
17
|
+
declare class CodeVerifierInfo {
|
|
18
|
+
private signature?;
|
|
19
|
+
private publicKey?;
|
|
20
|
+
private data?;
|
|
22
21
|
get dataToVerify(): Readable;
|
|
23
22
|
set dataToVerify(value: Readable);
|
|
24
23
|
get signatureStream(): Readable;
|
|
@@ -26,20 +25,15 @@ export declare class CodeVerifierInfo {
|
|
|
26
25
|
get publicKeyStream(): Readable;
|
|
27
26
|
set publicKeyStream(value: Readable);
|
|
28
27
|
}
|
|
29
|
-
export declare function validSalesforceHostname(url: string | null): boolean;
|
|
30
28
|
export declare function verify(codeVerifierInfo: CodeVerifierInfo): Promise<boolean>;
|
|
31
29
|
export declare const getNpmRegistry: () => URL;
|
|
32
30
|
/**
|
|
33
31
|
* class for verifying a digital signature pack of an npm
|
|
34
32
|
*/
|
|
35
33
|
export declare class InstallationVerification implements Verifier {
|
|
36
|
-
private pluginNpmName
|
|
37
|
-
private config
|
|
38
|
-
private
|
|
39
|
-
private readonly readFileAsync;
|
|
40
|
-
private readonly unlinkAsync;
|
|
41
|
-
private logger;
|
|
42
|
-
constructor(fsImpl?: unknown);
|
|
34
|
+
private pluginNpmName?;
|
|
35
|
+
private config?;
|
|
36
|
+
private logger?;
|
|
43
37
|
/**
|
|
44
38
|
* setter for the cli engine config
|
|
45
39
|
*
|
|
@@ -57,12 +51,6 @@ export declare class InstallationVerification implements Verifier {
|
|
|
57
51
|
*/
|
|
58
52
|
verify(): Promise<NpmMeta>;
|
|
59
53
|
isAllowListed(): Promise<boolean>;
|
|
60
|
-
/**
|
|
61
|
-
* Retrieve url content for a host
|
|
62
|
-
*
|
|
63
|
-
* @param url host url.
|
|
64
|
-
*/
|
|
65
|
-
getSigningContent(url: string): Promise<Readable>;
|
|
66
54
|
/**
|
|
67
55
|
* Downloads the tgz file content and stores it in a cache folder
|
|
68
56
|
*/
|
|
@@ -76,9 +64,9 @@ export declare class InstallationVerification implements Verifier {
|
|
|
76
64
|
private getLogger;
|
|
77
65
|
}
|
|
78
66
|
export declare class VerificationConfig {
|
|
79
|
-
private verifierMember
|
|
80
|
-
get verifier(): Verifier;
|
|
81
|
-
set verifier(value: Verifier);
|
|
67
|
+
private verifierMember?;
|
|
68
|
+
get verifier(): Verifier | undefined;
|
|
69
|
+
set verifier(value: Verifier | undefined);
|
|
82
70
|
log(message: string): void;
|
|
83
71
|
}
|
|
84
72
|
export declare function doPrompt(): Promise<void>;
|
|
@@ -86,3 +74,4 @@ export declare function doInstallationCodeSigningVerification(config: ConfigCont
|
|
|
86
74
|
plugin: string;
|
|
87
75
|
tag: string;
|
|
88
76
|
}, verificationConfig: VerificationConfig): Promise<void>;
|
|
77
|
+
export {};
|
|
@@ -6,30 +6,28 @@
|
|
|
6
6
|
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.doInstallationCodeSigningVerification = exports.doPrompt = exports.VerificationConfig = exports.InstallationVerification = exports.getNpmRegistry = exports.verify = exports.
|
|
10
|
-
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
|
11
|
-
/* eslint-disable @typescript-eslint/no-unsafe-call */
|
|
12
|
-
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
|
|
13
|
-
/* eslint-disable @typescript-eslint/no-unsafe-return */
|
|
9
|
+
exports.doInstallationCodeSigningVerification = exports.doPrompt = exports.VerificationConfig = exports.InstallationVerification = exports.getNpmRegistry = exports.verify = exports.DEFAULT_REGISTRY = void 0;
|
|
14
10
|
const path = require("path");
|
|
15
11
|
const stream_1 = require("stream");
|
|
16
12
|
const url_1 = require("url");
|
|
17
|
-
const util_1 = require("util");
|
|
18
13
|
const crypto = require("crypto");
|
|
19
14
|
const fs = require("fs");
|
|
20
15
|
const promises_1 = require("fs/promises");
|
|
21
16
|
const core_1 = require("@salesforce/core");
|
|
22
17
|
const got_1 = require("got");
|
|
23
|
-
const
|
|
24
|
-
const proxy_from_env_1 = require("proxy-from-env");
|
|
18
|
+
const proxy_agent_1 = require("proxy-agent");
|
|
25
19
|
const sf_plugins_core_1 = require("@salesforce/sf-plugins-core");
|
|
26
20
|
const core_2 = require("@oclif/core");
|
|
27
21
|
const npmCommand_1 = require("../shared/npmCommand");
|
|
22
|
+
const errors_1 = require("./errors");
|
|
28
23
|
const CRYPTO_LEVEL = 'RSA-SHA256';
|
|
29
|
-
|
|
24
|
+
const ALLOW_LIST_FILENAME = 'unsignedPluginAllowList.json';
|
|
30
25
|
exports.DEFAULT_REGISTRY = 'https://registry.npmjs.org/';
|
|
31
26
|
class CodeVerifierInfo {
|
|
32
27
|
get dataToVerify() {
|
|
28
|
+
if (!this.data) {
|
|
29
|
+
throw new Error('CodeVerifierInfo: Verifier has no data because it has not be set');
|
|
30
|
+
}
|
|
33
31
|
return this.data;
|
|
34
32
|
}
|
|
35
33
|
set dataToVerify(value) {
|
|
@@ -37,6 +35,9 @@ class CodeVerifierInfo {
|
|
|
37
35
|
}
|
|
38
36
|
// eslint-disable-next-line @typescript-eslint/member-ordering
|
|
39
37
|
get signatureStream() {
|
|
38
|
+
if (!this.signature) {
|
|
39
|
+
throw new Error('CodeVerifierInfo: signatureStream has no value because it has not be set');
|
|
40
|
+
}
|
|
40
41
|
return this.signature;
|
|
41
42
|
}
|
|
42
43
|
set signatureStream(value) {
|
|
@@ -44,26 +45,29 @@ class CodeVerifierInfo {
|
|
|
44
45
|
}
|
|
45
46
|
// eslint-disable-next-line @typescript-eslint/member-ordering
|
|
46
47
|
get publicKeyStream() {
|
|
48
|
+
if (!this.publicKey) {
|
|
49
|
+
throw new Error('CodeVerifierInfo: publicKey has no value because it has not be set');
|
|
50
|
+
}
|
|
47
51
|
return this.publicKey;
|
|
48
52
|
}
|
|
49
53
|
set publicKeyStream(value) {
|
|
50
54
|
this.publicKey = value;
|
|
51
55
|
}
|
|
52
56
|
}
|
|
53
|
-
exports.CodeVerifierInfo = CodeVerifierInfo;
|
|
54
57
|
function validSalesforceHostname(url) {
|
|
55
58
|
if (!url) {
|
|
56
59
|
return false;
|
|
57
60
|
}
|
|
58
|
-
const parsedUrl =
|
|
61
|
+
const parsedUrl = new url_1.URL(url);
|
|
59
62
|
if (process.env.SFDX_ALLOW_ALL_SALESFORCE_CERTSIG_HOSTING === 'true') {
|
|
60
|
-
return parsedUrl.hostname && /(\.salesforce\.com)$/.test(parsedUrl.hostname);
|
|
63
|
+
return Boolean(parsedUrl.hostname) && /(\.salesforce\.com)$/.test(parsedUrl.hostname);
|
|
61
64
|
}
|
|
62
65
|
else {
|
|
63
|
-
return parsedUrl.protocol === 'https:' &&
|
|
66
|
+
return (parsedUrl.protocol === 'https:' &&
|
|
67
|
+
Boolean(parsedUrl.hostname) &&
|
|
68
|
+
parsedUrl.hostname === 'developer.salesforce.com');
|
|
64
69
|
}
|
|
65
70
|
}
|
|
66
|
-
exports.validSalesforceHostname = validSalesforceHostname;
|
|
67
71
|
function retrieveKey(stream) {
|
|
68
72
|
return new Promise((resolve, reject) => {
|
|
69
73
|
let key = '';
|
|
@@ -85,6 +89,7 @@ async function verify(codeVerifierInfo) {
|
|
|
85
89
|
const publicKey = await retrieveKey(codeVerifierInfo.publicKeyStream);
|
|
86
90
|
const signApi = crypto.createVerify(CRYPTO_LEVEL);
|
|
87
91
|
return new Promise((resolve, reject) => {
|
|
92
|
+
codeVerifierInfo.dataToVerify.on('error', (err) => reject(errorHandlerForVerify(err)));
|
|
88
93
|
codeVerifierInfo.dataToVerify.pipe(signApi);
|
|
89
94
|
codeVerifierInfo.dataToVerify.on('end', () => {
|
|
90
95
|
// The sign signature returns a base64 encode string.
|
|
@@ -101,24 +106,23 @@ async function verify(codeVerifierInfo) {
|
|
|
101
106
|
return resolve(verification);
|
|
102
107
|
}
|
|
103
108
|
});
|
|
104
|
-
codeVerifierInfo.signatureStream.on('error', (err) => reject(err));
|
|
109
|
+
codeVerifierInfo.signatureStream.on('error', (err) => reject(errorHandlerForVerify(err)));
|
|
105
110
|
});
|
|
106
|
-
codeVerifierInfo.dataToVerify.on('error', (err) => reject(err));
|
|
107
111
|
});
|
|
108
112
|
}
|
|
109
113
|
exports.verify = verify;
|
|
110
|
-
const
|
|
114
|
+
const errorHandlerForVerify = (err) => {
|
|
115
|
+
if ('code' in err && err.code === 'DEPTH_ZERO_SELF_SIGNED_CERT') {
|
|
116
|
+
return (0, errors_1.setErrorName)(new core_1.SfError('Encountered a self signed certificated. To enable "export NODE_TLS_REJECT_UNAUTHORIZED=0"'), 'SelfSignedCert');
|
|
117
|
+
}
|
|
118
|
+
return err;
|
|
119
|
+
};
|
|
120
|
+
const getNpmRegistry = () => new url_1.URL(process.env.SFDX_NPM_REGISTRY ?? exports.DEFAULT_REGISTRY);
|
|
111
121
|
exports.getNpmRegistry = getNpmRegistry;
|
|
112
122
|
/**
|
|
113
123
|
* class for verifying a digital signature pack of an npm
|
|
114
124
|
*/
|
|
115
125
|
class InstallationVerification {
|
|
116
|
-
constructor(fsImpl) {
|
|
117
|
-
// why? dependency injection is better than sinon
|
|
118
|
-
this.fsImpl = fsImpl ? fsImpl : fs;
|
|
119
|
-
this.readFileAsync = (0, util_1.promisify)(this.fsImpl.readFile);
|
|
120
|
-
this.unlinkAsync = (0, util_1.promisify)(this.fsImpl.unlink);
|
|
121
|
-
}
|
|
122
126
|
/**
|
|
123
127
|
* setter for the cli engine config
|
|
124
128
|
*
|
|
@@ -129,11 +133,7 @@ class InstallationVerification {
|
|
|
129
133
|
this.config = _config;
|
|
130
134
|
return this;
|
|
131
135
|
}
|
|
132
|
-
|
|
133
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
134
|
-
// @ts-ignore override readonly .name field
|
|
135
|
-
err.name = 'InvalidParam';
|
|
136
|
-
throw err;
|
|
136
|
+
throw (0, errors_1.setErrorName)(new core_1.SfError('the cli engine config cannot be null', 'InvalidParam'), 'InvalidParam');
|
|
137
137
|
}
|
|
138
138
|
/**
|
|
139
139
|
* setter for the plugin name
|
|
@@ -145,11 +145,7 @@ class InstallationVerification {
|
|
|
145
145
|
this.pluginNpmName = _pluginName;
|
|
146
146
|
return this;
|
|
147
147
|
}
|
|
148
|
-
|
|
149
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
150
|
-
// @ts-ignore override readonly .name field
|
|
151
|
-
err.name = 'InvalidParam';
|
|
152
|
-
throw err;
|
|
148
|
+
throw (0, errors_1.setErrorName)(new core_1.SfError('the plugin name cannot be null', 'InvalidParam'), 'InvalidParam');
|
|
153
149
|
}
|
|
154
150
|
/**
|
|
155
151
|
* validates the digital signature.
|
|
@@ -157,51 +153,51 @@ class InstallationVerification {
|
|
|
157
153
|
async verify() {
|
|
158
154
|
const logger = await this.getLogger();
|
|
159
155
|
const npmMeta = await this.streamTagGz();
|
|
156
|
+
if (!npmMeta.tarballLocalPath) {
|
|
157
|
+
throw new core_1.SfError('The npmMeta does not contain a tarball path');
|
|
158
|
+
}
|
|
159
|
+
if (!npmMeta.signatureUrl) {
|
|
160
|
+
throw new core_1.SfError('The npmMeta does not contain a signatureUrl');
|
|
161
|
+
}
|
|
162
|
+
if (!npmMeta.publicKeyUrl) {
|
|
163
|
+
throw new core_1.SfError('The npmMeta does not contain a publicKeyUrl');
|
|
164
|
+
}
|
|
160
165
|
logger.debug(`verify | Found npmMeta? ${!!npmMeta}`);
|
|
161
166
|
logger.debug(`verify | creating a read stream for path - npmMeta.tarballLocalPath: ${npmMeta.tarballLocalPath}`);
|
|
162
|
-
const info = new CodeVerifierInfo();
|
|
163
|
-
info.dataToVerify = this.fsImpl.createReadStream(npmMeta.tarballLocalPath, { encoding: 'binary' });
|
|
164
167
|
logger.debug(`verify | npmMeta.signatureUrl: ${npmMeta.signatureUrl}`);
|
|
165
168
|
logger.debug(`verify | npmMeta.publicKeyUrl: ${npmMeta.publicKeyUrl}`);
|
|
166
|
-
|
|
167
|
-
.
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
})
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
const err = new core_1.SfError('Encountered a self signed certificated. To enable "export NODE_TLS_REJECT_UNAUTHORIZED=0"', 'SelfSignedCert');
|
|
184
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
185
|
-
// @ts-ignore override readonly .name field
|
|
186
|
-
err.name = 'SelfSignedCert';
|
|
187
|
-
throw err;
|
|
188
|
-
}
|
|
189
|
-
throw e;
|
|
190
|
-
});
|
|
169
|
+
const [signatureStream, publicKeyStream] = await Promise.all([
|
|
170
|
+
getSigningContent(npmMeta.signatureUrl),
|
|
171
|
+
getSigningContent(npmMeta.publicKeyUrl),
|
|
172
|
+
]);
|
|
173
|
+
const info = new CodeVerifierInfo();
|
|
174
|
+
info.dataToVerify = fs.createReadStream(npmMeta.tarballLocalPath, { encoding: 'binary' });
|
|
175
|
+
info.publicKeyStream = publicKeyStream;
|
|
176
|
+
info.signatureStream = signatureStream;
|
|
177
|
+
npmMeta.verified = await verify(info);
|
|
178
|
+
try {
|
|
179
|
+
await fs.promises.rm(npmMeta.tarballLocalPath);
|
|
180
|
+
}
|
|
181
|
+
catch (err) {
|
|
182
|
+
logger.debug(`error occurred deleting cache tgz at path: ${npmMeta.tarballLocalPath}`);
|
|
183
|
+
logger.debug(err);
|
|
184
|
+
}
|
|
185
|
+
return npmMeta;
|
|
191
186
|
}
|
|
192
187
|
async isAllowListed() {
|
|
193
188
|
const logger = await this.getLogger();
|
|
194
|
-
const allowListedFilePath = path.join(this.getConfigPath(),
|
|
189
|
+
const allowListedFilePath = path.join(this.getConfigPath() ?? '', ALLOW_LIST_FILENAME);
|
|
195
190
|
logger.debug(`isAllowListed | allowlistFilePath: ${allowListedFilePath}`);
|
|
196
191
|
let fileContent;
|
|
197
192
|
try {
|
|
198
|
-
fileContent = await
|
|
193
|
+
fileContent = await fs.promises.readFile(allowListedFilePath, 'utf8');
|
|
199
194
|
const allowlistArray = JSON.parse(fileContent);
|
|
200
195
|
logger.debug('isAllowListed | Successfully parsed allowlist.');
|
|
201
|
-
|
|
196
|
+
const nameToFind = this.pluginNpmName?.toString();
|
|
197
|
+
return nameToFind ? allowlistArray.includes(nameToFind) : false;
|
|
202
198
|
}
|
|
203
199
|
catch (err) {
|
|
204
|
-
if (err.code === 'ENOENT') {
|
|
200
|
+
if (err instanceof Error && 'code' in err && err.code === 'ENOENT') {
|
|
205
201
|
return false;
|
|
206
202
|
}
|
|
207
203
|
else {
|
|
@@ -209,45 +205,40 @@ class InstallationVerification {
|
|
|
209
205
|
}
|
|
210
206
|
}
|
|
211
207
|
}
|
|
212
|
-
/**
|
|
213
|
-
* Retrieve url content for a host
|
|
214
|
-
*
|
|
215
|
-
* @param url host url.
|
|
216
|
-
*/
|
|
217
|
-
// eslint-disable-next-line class-methods-use-this
|
|
218
|
-
async getSigningContent(url) {
|
|
219
|
-
const res = await got_1.default.get({
|
|
220
|
-
url,
|
|
221
|
-
timeout: { request: 10000 },
|
|
222
|
-
agent: { https: ProxyAgent((0, proxy_from_env_1.getProxyForUrl)(url)) },
|
|
223
|
-
});
|
|
224
|
-
if (res.statusCode !== 200) {
|
|
225
|
-
throw new core_1.SfError(`A request to url ${url} failed with error code: [${res.statusCode}]`, 'ErrorGettingContent');
|
|
226
|
-
}
|
|
227
|
-
return stream_1.Readable.from(Buffer.from(res.body));
|
|
228
|
-
}
|
|
229
208
|
/**
|
|
230
209
|
* Downloads the tgz file content and stores it in a cache folder
|
|
231
210
|
*/
|
|
232
211
|
async streamTagGz() {
|
|
233
212
|
const logger = await this.getLogger();
|
|
234
213
|
const npmMeta = await this.retrieveNpmMeta();
|
|
214
|
+
if (!npmMeta.tarballUrl) {
|
|
215
|
+
throw new Error('tarballUrl is not defined in the npmMeta object');
|
|
216
|
+
}
|
|
235
217
|
const urlObject = new url_1.URL(npmMeta.tarballUrl);
|
|
236
218
|
const urlPathsAsArray = urlObject.pathname.split('/');
|
|
237
|
-
npmMeta.tarballFilename = npmMeta.moduleName
|
|
219
|
+
npmMeta.tarballFilename = npmMeta.moduleName?.replace(/@/g, '');
|
|
238
220
|
logger.debug(`streamTagGz | urlPathsAsArray: ${urlPathsAsArray.join(',')}`);
|
|
239
221
|
const fileNameStr = urlPathsAsArray[urlPathsAsArray.length - 1];
|
|
240
222
|
logger.debug(`streamTagGz | fileNameStr: ${fileNameStr}`);
|
|
241
223
|
// Make sure the cache path exists.
|
|
242
224
|
try {
|
|
225
|
+
if (!npmMeta.moduleName) {
|
|
226
|
+
throw new Error('moduleName is not defined in the npmMeta object');
|
|
227
|
+
}
|
|
228
|
+
if (!npmMeta.version) {
|
|
229
|
+
throw new Error('version is not defined in the npmMeta object');
|
|
230
|
+
}
|
|
243
231
|
await (0, promises_1.mkdir)(this.getCachePath(), { recursive: true });
|
|
244
|
-
const npmModule = new npmCommand_1.NpmModule(npmMeta.moduleName, npmMeta.version, this.config
|
|
232
|
+
const npmModule = new npmCommand_1.NpmModule(npmMeta.moduleName, npmMeta.version, this.config?.cliRoot);
|
|
245
233
|
await npmModule.fetchTarball((0, exports.getNpmRegistry)().href, {
|
|
246
234
|
cwd: this.getCachePath(),
|
|
247
235
|
});
|
|
248
236
|
const tarBallFile = fs
|
|
249
237
|
.readdirSync(this.getCachePath(), { withFileTypes: true })
|
|
250
|
-
.find((entry) => entry.isFile() && entry.name.includes(npmMeta.version));
|
|
238
|
+
.find((entry) => entry.isFile() && npmMeta.version && entry.name.includes(npmMeta.version));
|
|
239
|
+
if (!tarBallFile) {
|
|
240
|
+
throw new Error(`Unable to find retrieved tarball file for ${npmMeta.moduleName} version ${npmMeta.version}`);
|
|
241
|
+
}
|
|
251
242
|
npmMeta.tarballLocalPath = path.join(this.getCachePath(), tarBallFile.name);
|
|
252
243
|
}
|
|
253
244
|
catch (err) {
|
|
@@ -258,10 +249,16 @@ class InstallationVerification {
|
|
|
258
249
|
}
|
|
259
250
|
// this is generally $HOME/.config/sfdx
|
|
260
251
|
getConfigPath() {
|
|
252
|
+
if (!this.config?.configDir) {
|
|
253
|
+
throw new Error('configDir is not defined in the config object');
|
|
254
|
+
}
|
|
261
255
|
return this.config.configDir;
|
|
262
256
|
}
|
|
263
257
|
// this is generally $HOME/Library/Caches/sfdx on mac
|
|
264
258
|
getCachePath() {
|
|
259
|
+
if (!this.config?.cacheDir) {
|
|
260
|
+
throw new Error('cacheDir is not defined in the config object');
|
|
261
|
+
}
|
|
265
262
|
return this.config.cacheDir;
|
|
266
263
|
}
|
|
267
264
|
/**
|
|
@@ -270,6 +267,9 @@ class InstallationVerification {
|
|
|
270
267
|
async retrieveNpmMeta() {
|
|
271
268
|
const logger = await this.getLogger();
|
|
272
269
|
const npmRegistry = (0, exports.getNpmRegistry)();
|
|
270
|
+
if (!this.pluginNpmName) {
|
|
271
|
+
throw new Error('pluginNpmName is not defined on the InstallationVerification class. setPluginNpmName should have been called before this method.');
|
|
272
|
+
}
|
|
273
273
|
logger.debug(`retrieveNpmMeta | npmRegistry: ${npmRegistry.href}`);
|
|
274
274
|
logger.debug(`retrieveNpmMeta | this.pluginNpmName.name: ${this.pluginNpmName.name}`);
|
|
275
275
|
logger.debug(`retrieveNpmMeta | this.pluginNpmName.scope: ${this.pluginNpmName.scope}`);
|
|
@@ -277,18 +277,15 @@ class InstallationVerification {
|
|
|
277
277
|
const npmShowModule = this.pluginNpmName.scope
|
|
278
278
|
? `@${this.pluginNpmName.scope}/${this.pluginNpmName.name}`
|
|
279
279
|
: this.pluginNpmName.name;
|
|
280
|
-
const npmModule = new npmCommand_1.NpmModule(npmShowModule, this.pluginNpmName.tag, this.config
|
|
280
|
+
const npmModule = new npmCommand_1.NpmModule(npmShowModule, this.pluginNpmName.tag, this.config?.cliRoot);
|
|
281
281
|
const npmMetadata = npmModule.show(npmRegistry.href);
|
|
282
282
|
logger.debug('retrieveNpmMeta | Found npm meta information.');
|
|
283
283
|
if (!npmMetadata.versions) {
|
|
284
284
|
const err = new core_1.SfError(`The npm metadata for plugin ${this.pluginNpmName.name} is missing the versions attribute.`, 'InvalidNpmMetadata');
|
|
285
|
-
|
|
286
|
-
// @ts-ignore override readonly .name field
|
|
287
|
-
err.name = 'InvalidNpmMetadata';
|
|
288
|
-
throw err;
|
|
285
|
+
throw (0, errors_1.setErrorName)(err, 'InvalidNpmMetadata');
|
|
289
286
|
}
|
|
290
287
|
// Assume the tag is version tag.
|
|
291
|
-
let versionNumber = npmMetadata.versions.find((version) => version === this.pluginNpmName
|
|
288
|
+
let versionNumber = npmMetadata.versions.find((version) => version === this.pluginNpmName?.tag);
|
|
292
289
|
logger.debug(`retrieveNpmMeta | versionObject: ${JSON.stringify(versionNumber)}`);
|
|
293
290
|
// If the assumption was not correct the tag must be a non-versioned dist-tag or not specified.
|
|
294
291
|
if (!versionNumber) {
|
|
@@ -305,35 +302,21 @@ class InstallationVerification {
|
|
|
305
302
|
}
|
|
306
303
|
else {
|
|
307
304
|
const err = new core_1.SfError(`The dist tag ${this.pluginNpmName.tag} was not found for plugin: ${this.pluginNpmName.name}`, 'NpmTagNotFound');
|
|
308
|
-
|
|
309
|
-
// @ts-ignore override readonly .name field
|
|
310
|
-
err.name = 'NpmTagNotFound';
|
|
311
|
-
throw err;
|
|
305
|
+
throw (0, errors_1.setErrorName)(err, 'NpmTagNotFound');
|
|
312
306
|
}
|
|
313
307
|
}
|
|
314
308
|
else {
|
|
315
|
-
|
|
316
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
317
|
-
// @ts-ignore override readonly .name field
|
|
318
|
-
err.name = 'UnexpectedNpmFormat';
|
|
319
|
-
throw err;
|
|
309
|
+
throw (0, errors_1.setErrorName)(new core_1.SfError('The deployed NPM is missing dist-tags.', 'UnexpectedNpmFormat'), 'UnexpectedNpmFormat');
|
|
320
310
|
}
|
|
321
311
|
}
|
|
322
312
|
npmModule.npmMeta.version = versionNumber;
|
|
323
313
|
if (!npmMetadata.sfdx) {
|
|
324
|
-
|
|
325
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
326
|
-
// @ts-ignore override readonly .name field
|
|
327
|
-
err.name = 'NotSigned';
|
|
328
|
-
throw err;
|
|
314
|
+
throw (0, errors_1.setErrorName)(new core_1.SfError('This plugin is not signed by Salesforce.com, Inc.', 'NotSigned'), 'NotSigned');
|
|
329
315
|
}
|
|
330
316
|
else {
|
|
331
317
|
if (!validSalesforceHostname(npmMetadata.sfdx.publicKeyUrl)) {
|
|
332
318
|
const err = new core_1.SfError(`The host is not allowed to provide signing information. [${npmMetadata.sfdx.publicKeyUrl}]`, 'UnexpectedHost');
|
|
333
|
-
|
|
334
|
-
// @ts-ignore override readonly .name field
|
|
335
|
-
err.name = 'UnexpectedHost';
|
|
336
|
-
throw err;
|
|
319
|
+
throw (0, errors_1.setErrorName)(err, 'UnexpectedHost');
|
|
337
320
|
}
|
|
338
321
|
else {
|
|
339
322
|
logger.debug(`retrieveNpmMeta | versionObject.sfdx.publicKeyUrl: ${npmMetadata.sfdx.publicKeyUrl}`);
|
|
@@ -341,16 +324,13 @@ class InstallationVerification {
|
|
|
341
324
|
}
|
|
342
325
|
if (!validSalesforceHostname(npmMetadata.sfdx.signatureUrl)) {
|
|
343
326
|
const err = new core_1.SfError(`The host is not allowed to provide signing information. [${npmMetadata.sfdx.signatureUrl}]`, 'UnexpectedHost');
|
|
344
|
-
|
|
345
|
-
// @ts-ignore override readonly .name field
|
|
346
|
-
err.name = 'UnexpectedHost';
|
|
347
|
-
throw err;
|
|
327
|
+
throw (0, errors_1.setErrorName)(err, 'UnexpectedHost');
|
|
348
328
|
}
|
|
349
329
|
else {
|
|
350
330
|
logger.debug(`retrieveNpmMeta | versionObject.sfdx.signatureUrl: ${npmMetadata.sfdx.signatureUrl}`);
|
|
351
331
|
npmModule.npmMeta.signatureUrl = npmMetadata.sfdx.signatureUrl;
|
|
352
332
|
}
|
|
353
|
-
npmModule.npmMeta.tarballUrl = npmMetadata.dist
|
|
333
|
+
npmModule.npmMeta.tarballUrl = npmMetadata.dist?.tarball;
|
|
354
334
|
logger.debug(`retrieveNpmMeta | meta.tarballUrl: ${npmModule.npmMeta.tarballUrl}`);
|
|
355
335
|
return npmModule.npmMeta;
|
|
356
336
|
}
|
|
@@ -380,23 +360,28 @@ async function doPrompt() {
|
|
|
380
360
|
if (!(await new sf_plugins_core_1.Prompter().confirm('This plugin is not digitally signed and its authenticity cannot be verified. Continue installation?', 30000, false))) {
|
|
381
361
|
throw new core_1.SfError('The user canceled the plugin installation.', 'InstallationCanceledError');
|
|
382
362
|
}
|
|
363
|
+
// they approved the plugin. Let them know how to automate this.
|
|
364
|
+
core_2.ux.log('To avoid installation confirmation, configure unsignedPluginAllowList.json. https://developer.salesforce.com/docs/atlas.en-us.sfdx_setup.meta/sfdx_setup/sfdx_setup_allowlist.htm');
|
|
383
365
|
}
|
|
384
366
|
exports.doPrompt = doPrompt;
|
|
385
367
|
async function doInstallationCodeSigningVerification(config, plugin, verificationConfig) {
|
|
386
368
|
try {
|
|
369
|
+
if (!verificationConfig.verifier) {
|
|
370
|
+
throw new Error('VerificationConfig.verifier is not set.');
|
|
371
|
+
}
|
|
387
372
|
const meta = await verificationConfig.verifier.verify();
|
|
388
373
|
if (!meta.verified) {
|
|
389
374
|
const err = new core_1.SfError("A digital signature is specified for this plugin but it didn't verify against the certificate.", 'FailedDigitalSignatureVerification');
|
|
390
|
-
|
|
391
|
-
// @ts-ignore override readonly .name field
|
|
392
|
-
err.name = 'FailedDigitalSignatureVerification';
|
|
393
|
-
throw err;
|
|
375
|
+
throw (0, errors_1.setErrorName)(err, 'FailedDigitalSignatureVerification');
|
|
394
376
|
}
|
|
395
377
|
verificationConfig.log(`Successfully validated digital signature for ${plugin.plugin}.`);
|
|
396
378
|
}
|
|
397
379
|
catch (err) {
|
|
398
380
|
if (err instanceof Error) {
|
|
399
381
|
if (err.name === 'NotSigned') {
|
|
382
|
+
if (!verificationConfig.verifier) {
|
|
383
|
+
throw new Error('VerificationConfig.verifier is not set.');
|
|
384
|
+
}
|
|
400
385
|
if (await verificationConfig.verifier.isAllowListed()) {
|
|
401
386
|
verificationConfig.log(`The plugin [${plugin.plugin}] is not digitally signed but it is allow-listed.`);
|
|
402
387
|
return;
|
|
@@ -406,19 +391,27 @@ async function doInstallationCodeSigningVerification(config, plugin, verificatio
|
|
|
406
391
|
}
|
|
407
392
|
}
|
|
408
393
|
else if (err.name === 'PluginNotFound' || err.name === 'PluginAccessDenied') {
|
|
409
|
-
|
|
410
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
411
|
-
// @ts-ignore override readonly .name field
|
|
412
|
-
e.name = '';
|
|
413
|
-
throw e;
|
|
394
|
+
throw (0, errors_1.setErrorName)(new core_1.SfError(err.message ?? 'The user canceled the plugin installation.'), '');
|
|
414
395
|
}
|
|
415
|
-
|
|
416
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
417
|
-
// @ts-ignore override readonly .name field
|
|
418
|
-
sfErr.name = err.name;
|
|
419
|
-
throw sfErr;
|
|
396
|
+
throw (0, errors_1.setErrorName)(core_1.SfError.wrap(err), err.name);
|
|
420
397
|
}
|
|
421
398
|
}
|
|
422
399
|
}
|
|
423
400
|
exports.doInstallationCodeSigningVerification = doInstallationCodeSigningVerification;
|
|
401
|
+
/**
|
|
402
|
+
* Retrieve url content for a host
|
|
403
|
+
*
|
|
404
|
+
* @param url host url.
|
|
405
|
+
*/
|
|
406
|
+
const getSigningContent = async (url) => {
|
|
407
|
+
const res = await got_1.default.get({
|
|
408
|
+
url,
|
|
409
|
+
timeout: { request: 10000 },
|
|
410
|
+
agent: { https: new proxy_agent_1.ProxyAgent() },
|
|
411
|
+
});
|
|
412
|
+
if (res.statusCode !== 200) {
|
|
413
|
+
throw new core_1.SfError(`A request to url ${url} failed with error code: [${res.statusCode}]`, 'ErrorGettingContent');
|
|
414
|
+
}
|
|
415
|
+
return stream_1.Readable.from(Buffer.from(res.body));
|
|
416
|
+
};
|
|
424
417
|
//# sourceMappingURL=installationVerification.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installationVerification.js","sourceRoot":"","sources":["../../src/shared/installationVerification.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"installationVerification.js","sourceRoot":"","sources":["../../src/shared/installationVerification.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,49 +22,14 @@ export type NpmShowResults = {
|
|
|
22
22
|
[name: string]: string;
|
|
23
23
|
};
|
|
24
24
|
};
|
|
25
|
-
type NpmCommandOptions = shelljs.ExecOptions & {
|
|
26
|
-
json?: boolean;
|
|
27
|
-
registry?: string;
|
|
28
|
-
cliRoot?: string;
|
|
29
|
-
};
|
|
30
|
-
type NpmCommandResult = shelljs.ShellString;
|
|
31
|
-
export declare class NpmCommand {
|
|
32
|
-
private static npmPkgPath;
|
|
33
|
-
static runNpmCmd(cmd: string, options?: NpmCommandOptions): NpmCommandResult;
|
|
34
|
-
private static npmPackagePath;
|
|
35
|
-
/**
|
|
36
|
-
* Returns the path to the npm-cli.js file in this package's node_modules
|
|
37
|
-
*
|
|
38
|
-
* @private
|
|
39
|
-
*/
|
|
40
|
-
private static npmCli;
|
|
41
|
-
/**
|
|
42
|
-
* Locate node executable and return its absolute path
|
|
43
|
-
* First it tries to locate the node executable on the root path passed in
|
|
44
|
-
* If not found then tries to use whatver 'node' resolves to on the user's PATH
|
|
45
|
-
* If found return absolute path to the executable
|
|
46
|
-
* If the node executable cannot be found, an error is thrown
|
|
47
|
-
*
|
|
48
|
-
* @private
|
|
49
|
-
*/
|
|
50
|
-
private static findNode;
|
|
51
|
-
/**
|
|
52
|
-
* Finds the bin directory in the sfdx installation root path
|
|
53
|
-
*
|
|
54
|
-
* @param sfdxPath
|
|
55
|
-
* @private
|
|
56
|
-
*/
|
|
57
|
-
private static findSfdxBinDirs;
|
|
58
|
-
}
|
|
59
25
|
export declare class NpmModule {
|
|
60
26
|
private module;
|
|
61
27
|
private version;
|
|
62
|
-
private cliRoot
|
|
28
|
+
private cliRoot?;
|
|
63
29
|
npmMeta: NpmMeta;
|
|
64
|
-
constructor(module: string, version?: string, cliRoot?: string);
|
|
30
|
+
constructor(module: string, version?: string, cliRoot?: string | undefined);
|
|
65
31
|
show(registry: string): NpmShowResults;
|
|
66
32
|
pack(registry: string, options?: shelljs.ExecOptions): void;
|
|
67
33
|
fetchTarball(registry: string, options?: shelljs.ExecOptions): Promise<void>;
|
|
68
34
|
pollForAvailability(checkFn: () => void): Promise<void>;
|
|
69
35
|
}
|
|
70
|
-
export {};
|
package/lib/shared/npmCommand.js
CHANGED
|
@@ -5,9 +5,8 @@
|
|
|
5
5
|
* Licensed under the BSD 3-Clause license.
|
|
6
6
|
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
7
7
|
*/
|
|
8
|
-
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
9
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.NpmModule =
|
|
9
|
+
exports.NpmModule = void 0;
|
|
11
10
|
const os_1 = require("os");
|
|
12
11
|
const path = require("path");
|
|
13
12
|
const fs = require("fs");
|
|
@@ -16,6 +15,7 @@ const shelljs = require("shelljs");
|
|
|
16
15
|
const core_1 = require("@salesforce/core");
|
|
17
16
|
const kit_1 = require("@salesforce/kit");
|
|
18
17
|
const sf_plugins_core_1 = require("@salesforce/sf-plugins-core");
|
|
18
|
+
const errors_1 = require("./errors");
|
|
19
19
|
class NpmCommand {
|
|
20
20
|
static runNpmCmd(cmd, options = {}) {
|
|
21
21
|
const nodeExecutable = NpmCommand.findNode(options.cliRoot);
|
|
@@ -56,7 +56,7 @@ class NpmCommand {
|
|
|
56
56
|
*
|
|
57
57
|
* @private
|
|
58
58
|
*/
|
|
59
|
-
static findNode(root
|
|
59
|
+
static findNode(root) {
|
|
60
60
|
const isExecutable = (filepath) => {
|
|
61
61
|
if ((0, os_1.type)() === 'Windows_NT')
|
|
62
62
|
return filepath.endsWith('node.exe');
|
|
@@ -86,11 +86,7 @@ class NpmCommand {
|
|
|
86
86
|
const nodeShellString = shelljs.which('node');
|
|
87
87
|
if (nodeShellString?.code === 0 && nodeShellString?.stdout)
|
|
88
88
|
return nodeShellString.stdout;
|
|
89
|
-
|
|
90
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
91
|
-
// @ts-ignore override readonly .name field
|
|
92
|
-
err.name = 'CannotFindNodeExecutable';
|
|
93
|
-
throw err;
|
|
89
|
+
throw (0, errors_1.setErrorName)(new core_1.SfError('Cannot locate node executable.', 'CannotFindNodeExecutable'), 'CannotFindNodeExecutable');
|
|
94
90
|
}
|
|
95
91
|
/**
|
|
96
92
|
* Finds the bin directory in the sfdx installation root path
|
|
@@ -104,10 +100,9 @@ class NpmCommand {
|
|
|
104
100
|
: [];
|
|
105
101
|
}
|
|
106
102
|
}
|
|
107
|
-
exports.NpmCommand = NpmCommand;
|
|
108
103
|
NpmCommand.npmPkgPath = require.resolve('npm/package.json');
|
|
109
104
|
class NpmModule {
|
|
110
|
-
constructor(module, version = 'latest', cliRoot
|
|
105
|
+
constructor(module, version = 'latest', cliRoot) {
|
|
111
106
|
this.module = module;
|
|
112
107
|
this.version = version;
|
|
113
108
|
this.cliRoot = cliRoot;
|
|
@@ -123,23 +118,16 @@ class NpmModule {
|
|
|
123
118
|
// `npm show` doesn't return exit code 1 when it fails to get a specific package version
|
|
124
119
|
// If `stdout` is empty then no info was found in the registry.
|
|
125
120
|
if (showCmd.stdout === '') {
|
|
126
|
-
|
|
127
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
128
|
-
// @ts-ignore override readonly .name field
|
|
129
|
-
err.name = 'NpmError';
|
|
130
|
-
throw err;
|
|
121
|
+
throw (0, errors_1.setErrorName)(new core_1.SfError(`Failed to find ${this.module}@${this.version} in the registry`, 'NpmError'), 'NpmError');
|
|
131
122
|
}
|
|
132
123
|
try {
|
|
133
124
|
return JSON.parse(showCmd.stdout);
|
|
134
125
|
}
|
|
135
126
|
catch (error) {
|
|
136
127
|
if (error instanceof Error) {
|
|
137
|
-
|
|
138
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
139
|
-
// @ts-ignore override readonly .name field
|
|
140
|
-
err.name = 'ShellParseError';
|
|
141
|
-
throw err;
|
|
128
|
+
throw (0, errors_1.setErrorName)(new core_1.SfError(error.message, 'ShellParseError'), 'ShellParseError');
|
|
142
129
|
}
|
|
130
|
+
throw error;
|
|
143
131
|
}
|
|
144
132
|
}
|
|
145
133
|
pack(registry, options) {
|
|
@@ -154,10 +142,7 @@ class NpmModule {
|
|
|
154
142
|
if (err instanceof Error) {
|
|
155
143
|
const sfErr = core_1.SfError.wrap(err);
|
|
156
144
|
const e = new core_1.SfError(`Failed to fetch tarball from the registry: \n${sfErr.message}`, 'NpmError');
|
|
157
|
-
|
|
158
|
-
// @ts-ignore override readonly .name field
|
|
159
|
-
e.name = 'NpmError';
|
|
160
|
-
throw e;
|
|
145
|
+
throw (0, errors_1.setErrorName)(e, 'NpmError');
|
|
161
146
|
}
|
|
162
147
|
}
|
|
163
148
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"npmCommand.js","sourceRoot":"","sources":["../../src/shared/npmCommand.ts"],"names":[],"mappings":";AAAA;;;;;GAKG
|
|
1
|
+
{"version":3,"file":"npmCommand.js","sourceRoot":"","sources":["../../src/shared/npmCommand.ts"],"names":[],"mappings":"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"}
|
package/oclif.manifest.json
CHANGED
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@salesforce/plugin-trust",
|
|
3
3
|
"description": "validate a digital signature for a npm package",
|
|
4
|
-
"version": "2.5.0
|
|
4
|
+
"version": "2.5.0",
|
|
5
5
|
"author": "Salesforce",
|
|
6
6
|
"main": "lib/index.js",
|
|
7
7
|
"bin": {
|
|
@@ -9,59 +9,57 @@
|
|
|
9
9
|
},
|
|
10
10
|
"bugs": "https://github.com/forcedotcom/cli/issues",
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@oclif/core": "^2.
|
|
13
|
-
"@salesforce/core": "^
|
|
14
|
-
"@salesforce/
|
|
15
|
-
"@salesforce/
|
|
16
|
-
"@salesforce/telemetry": "^3.2.13",
|
|
12
|
+
"@oclif/core": "^2.11.1",
|
|
13
|
+
"@salesforce/core": "^5.1.4",
|
|
14
|
+
"@salesforce/sf-plugins-core": "^3.1.13",
|
|
15
|
+
"@salesforce/telemetry": "^3.2.29",
|
|
17
16
|
"got": "^11",
|
|
18
17
|
"npm": "^8.19.4",
|
|
19
18
|
"npm-run-path": "^4.0.1",
|
|
20
|
-
"proxy-agent": "^
|
|
21
|
-
"proxy-from-env": "^1.1.0",
|
|
19
|
+
"proxy-agent": "^6.3.0",
|
|
22
20
|
"shelljs": "^0.8.4",
|
|
23
21
|
"tslib": "^2"
|
|
24
22
|
},
|
|
25
23
|
"devDependencies": {
|
|
26
|
-
"@oclif/plugin-command-snapshot": "^
|
|
27
|
-
"@salesforce/cli-plugins-testkit": "^
|
|
28
|
-
"@salesforce/dev-config": "^
|
|
29
|
-
"@salesforce/dev-scripts": "^4.3
|
|
30
|
-
"@salesforce/plugin-command-reference": "^
|
|
31
|
-
"@salesforce/
|
|
24
|
+
"@oclif/plugin-command-snapshot": "^4.0.9",
|
|
25
|
+
"@salesforce/cli-plugins-testkit": "^4.2.8",
|
|
26
|
+
"@salesforce/dev-config": "^4.0.1",
|
|
27
|
+
"@salesforce/dev-scripts": "^5.4.3",
|
|
28
|
+
"@salesforce/plugin-command-reference": "^3.0.21",
|
|
29
|
+
"@salesforce/plugin-telemetry": "^2.1.5",
|
|
30
|
+
"@salesforce/prettier-config": "^0.0.3",
|
|
32
31
|
"@salesforce/ts-sinon": "^1.4.6",
|
|
33
|
-
"@swc/core": "
|
|
34
|
-
"@types/proxy-from-env": "^1.0.1",
|
|
32
|
+
"@swc/core": "1.3.39",
|
|
35
33
|
"@types/shelljs": "^0.8.9",
|
|
36
|
-
"@types/sinon-chai": "^3.2.
|
|
37
|
-
"@typescript-eslint/eslint-plugin": "^5.
|
|
38
|
-
"@typescript-eslint/parser": "^5.
|
|
34
|
+
"@types/sinon-chai": "^3.2.9",
|
|
35
|
+
"@typescript-eslint/eslint-plugin": "^5.61.0",
|
|
36
|
+
"@typescript-eslint/parser": "^5.61.0",
|
|
39
37
|
"chai": "^4.3.7",
|
|
40
|
-
"eslint": "^8.
|
|
38
|
+
"eslint": "^8.46.0",
|
|
41
39
|
"eslint-config-prettier": "^8.8.0",
|
|
42
|
-
"eslint-config-salesforce": "^
|
|
40
|
+
"eslint-config-salesforce": "^2.0.2",
|
|
43
41
|
"eslint-config-salesforce-license": "^0.2.0",
|
|
44
|
-
"eslint-config-salesforce-typescript": "^1.1.
|
|
42
|
+
"eslint-config-salesforce-typescript": "^1.1.2",
|
|
45
43
|
"eslint-plugin-header": "^3.1.1",
|
|
46
44
|
"eslint-plugin-import": "2.27.5",
|
|
47
|
-
"eslint-plugin-jsdoc": "^
|
|
48
|
-
"eslint-plugin-sf-plugin": "^1.
|
|
45
|
+
"eslint-plugin-jsdoc": "^43.0.5",
|
|
46
|
+
"eslint-plugin-sf-plugin": "^1.16.0",
|
|
49
47
|
"husky": "^7.0.4",
|
|
50
48
|
"mocha": "^9.1.3",
|
|
51
49
|
"nyc": "^15.1.0",
|
|
52
|
-
"oclif": "^3.
|
|
53
|
-
"prettier": "^2.8.
|
|
50
|
+
"oclif": "^3.9.1",
|
|
51
|
+
"prettier": "^2.8.8",
|
|
54
52
|
"pretty-quick": "^3.1.0",
|
|
55
53
|
"shx": "0.3.4",
|
|
56
54
|
"sinon": "10.0.0",
|
|
57
55
|
"sinon-chai": "^3.7.0",
|
|
58
56
|
"ts-node": "^10.0.0",
|
|
59
57
|
"typescript": "^4.9.5",
|
|
60
|
-
"wireit": "^0.
|
|
58
|
+
"wireit": "^0.10.0"
|
|
61
59
|
},
|
|
62
60
|
"config": {},
|
|
63
61
|
"engines": {
|
|
64
|
-
"node": ">=
|
|
62
|
+
"node": ">=16.0.0"
|
|
65
63
|
},
|
|
66
64
|
"files": [
|
|
67
65
|
"bin",
|
|
@@ -229,7 +227,7 @@
|
|
|
229
227
|
}
|
|
230
228
|
},
|
|
231
229
|
"sfdx": {
|
|
232
|
-
"publicKeyUrl": "https://developer.salesforce.com/media/salesforce-cli/security/@salesforce/plugin-trust/2.5.0
|
|
233
|
-
"signatureUrl": "https://developer.salesforce.com/media/salesforce-cli/security/@salesforce/plugin-trust/2.5.0
|
|
230
|
+
"publicKeyUrl": "https://developer.salesforce.com/media/salesforce-cli/security/@salesforce/plugin-trust/2.5.0.crt",
|
|
231
|
+
"signatureUrl": "https://developer.salesforce.com/media/salesforce-cli/security/@salesforce/plugin-trust/2.5.0.sig"
|
|
234
232
|
}
|
|
235
233
|
}
|