@super-protocol/pki-sync-client 5.0.1 → 5.0.3
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/README.md +12 -4
- package/dist/cli.js +6 -1
- package/dist/root-certificate-verifier.d.ts +23 -0
- package/dist/root-certificate-verifier.js +111 -0
- package/dist/sync-client.d.ts +1 -0
- package/dist/sync-client.js +13 -1
- package/npm-shrinkwrap.json +114 -25
- package/package.json +10 -4
package/README.md
CHANGED
|
@@ -92,6 +92,7 @@ pki-sync-client sync [options]
|
|
|
92
92
|
| `--retry-attempts` | | number | `3` | Number of retry attempts per server for retryable network/DNS errors |
|
|
93
93
|
| `--retry-timeout` | | number | `10` | Timeout between retries in seconds for retryable network/DNS errors |
|
|
94
94
|
| `--disable-server-identity-check` | | boolean | `false` | Disable server identity verification (not recommended) |
|
|
95
|
+
| `--network-type-file` | | string | | Path to file containing local network type (`trusted` or `untrusted`). Defaults to `untrusted` when omitted |
|
|
95
96
|
| `--save-certs-to-dir` | | string | | Directory to save client certificates (`key.pem`, `ca.pem`, `cert.pem`) |
|
|
96
97
|
| `--save-certs-prefix` | | string | | Prefix for certificate filenames (e.g., `client` → `client_key.pem`) |
|
|
97
98
|
|
|
@@ -119,6 +120,11 @@ pki-sync-client sync -c secrets.yaml --swarm-env /custom/path/swarm-env.yaml
|
|
|
119
120
|
pki-sync-client sync -c secrets.yaml --retry-attempts 5 --retry-timeout 3
|
|
120
121
|
```
|
|
121
122
|
|
|
123
|
+
**Sync with explicit local network type file:**
|
|
124
|
+
```bash
|
|
125
|
+
pki-sync-client sync -c secrets.yaml --network-type-file /sp/swarm/network-type
|
|
126
|
+
```
|
|
127
|
+
|
|
122
128
|
**Sync and save client certificates:**
|
|
123
129
|
```bash
|
|
124
130
|
pki-sync-client sync -c secrets.yaml --save-certs-to-dir /etc/app/certs
|
|
@@ -213,6 +219,7 @@ interface SyncClientOptions {
|
|
|
213
219
|
retryDelaySec?: number; // Delay between retries in seconds (default: 10)
|
|
214
220
|
logLevel?: LogLevel; // Log level: fatal | error | warn | info | debug | trace; if omitted logs are disabled
|
|
215
221
|
disableServerIdentityCheck?: boolean; // Disable server verification (default: false)
|
|
222
|
+
networkTypeFile?: string; // File containing local network type: trusted | untrusted; defaults to untrusted
|
|
216
223
|
saveCertsToDir?: string; // Directory to save certificates
|
|
217
224
|
saveCertsPrefix?: string; // Prefix for certificate filenames
|
|
218
225
|
}
|
|
@@ -304,10 +311,11 @@ try {
|
|
|
304
311
|
## Security Considerations
|
|
305
312
|
|
|
306
313
|
1. **Server Identity Verification**: Always enabled by default. Only disable with `--disable-server-identity-check` in trusted development environments.
|
|
307
|
-
2. **Certificate
|
|
308
|
-
3. **
|
|
309
|
-
4. **
|
|
310
|
-
5. **
|
|
314
|
+
2. **Root Certificate Trust Verification**: The root certificate network type extension must match the local network type. Trusted roots must include hardware evidence whose mrEnclave is present in the Super Protocol trusted registry.
|
|
315
|
+
3. **Certificate Validation**: CA bundle is used to verify server certificates during TLS handshake.
|
|
316
|
+
4. **Mutual TLS**: Both client and server authenticate each other using certificates.
|
|
317
|
+
5. **TEE Attestation**: In TDX/SEV environments, hardware-backed attestation proves client identity.
|
|
318
|
+
6. **Secure Storage**: Secrets are saved with restrictive file permissions to prevent unauthorized access.
|
|
311
319
|
|
|
312
320
|
## Development
|
|
313
321
|
|
package/dist/cli.js
CHANGED
|
@@ -25,6 +25,7 @@ async function sync(argv) {
|
|
|
25
25
|
disableServerIdentityCheck: argv.disableServerIdentityCheck,
|
|
26
26
|
saveCertsToDir: argv.saveCertsToDir,
|
|
27
27
|
saveCertsPrefix: argv.saveCertsPrefix,
|
|
28
|
+
networkTypeFile: argv.networkTypeFile,
|
|
28
29
|
});
|
|
29
30
|
await client.sync(config);
|
|
30
31
|
console.log('Sync completed successfully');
|
|
@@ -75,6 +76,10 @@ async function main() {
|
|
|
75
76
|
describe: 'Disable server identity verification',
|
|
76
77
|
type: 'boolean',
|
|
77
78
|
default: false,
|
|
79
|
+
})
|
|
80
|
+
.option('network-type-file', {
|
|
81
|
+
describe: 'Path to file containing local network type (trusted or untrusted)',
|
|
82
|
+
type: 'string',
|
|
78
83
|
})
|
|
79
84
|
.option('save-certs-to-dir', {
|
|
80
85
|
describe: 'Directory to save client certificates (key.pem, ca.pem, cert.pem)',
|
|
@@ -96,4 +101,4 @@ main().catch((error) => {
|
|
|
96
101
|
console.error('Error:', error.message);
|
|
97
102
|
process.exit(1);
|
|
98
103
|
});
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NsaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxrREFBMEI7QUFDMUIsMkNBQXdDO0FBQ3hDLHFDQUFzRDtBQUN0RCwrQ0FBMkM7QUFDM0MsMkRBQXNEO0FBRXRELE1BQU0sc0JBQXNCLEdBQUcsMEJBQTBCLENBQUM7QUFFMUQsS0FBSyxVQUFVLElBQUksQ0FBQyxJQUFTO0lBQ3pCLElBQUksQ0FBQztRQUNELE1BQU0sTUFBTSxHQUFHLElBQUEsb0JBQVcsRUFBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDeEMsTUFBTSxRQUFRLEdBQUcsSUFBQSxzQkFBYSxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUU5QyxNQUFNLE1BQU0sR0FBRyxJQUFJLHdCQUFVLENBQUM7WUFDMUIsT0FBTyxFQUFFLFFBQVEsQ0FBQyxhQUFhLENBQUMsT0FBTztZQUN2QyxTQUFTLEVBQUUsUUFBUSxDQUFDLGFBQWEsQ0FBQyxTQUFTO1lBQzNDLFFBQVEsRUFBRSxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVE7WUFDekMsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQy9CLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYTtZQUNqQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDaEMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLDBCQUEwQixFQUFFLElBQUksQ0FBQywwQkFBMEI7WUFDM0QsY0FBYyxFQUFFLElBQUksQ0FBQyxjQUFjO1lBQ25DLGVBQWUsRUFBRSxJQUFJLENBQUMsZUFBZTtZQUNyQyxlQUFlLEVBQUUsSUFBSSxDQUFDLGVBQWU7U0FDeEMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTFCLE9BQU8sQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lB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
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { Log, NetworkType } from '@super-protocol/pki-common';
|
|
3
|
+
import { TeeEvidenceType, type SNPReport } from '@super-protocol/attestation-common';
|
|
4
|
+
interface AttestationWasmNode {
|
|
5
|
+
verifyTeeEvidence(serialized: Uint8Array | ArrayBuffer): Promise<{
|
|
6
|
+
evidenceType: TeeEvidenceType;
|
|
7
|
+
}>;
|
|
8
|
+
calculateMrEnclave(serialized: Uint8Array | ArrayBuffer): Promise<{
|
|
9
|
+
mrEnclave: Uint8Array;
|
|
10
|
+
}>;
|
|
11
|
+
calculateSnpSingleCoreMrEnclave(report: SNPReport): Promise<Uint8Array>;
|
|
12
|
+
}
|
|
13
|
+
export interface RootCertificateVerifierOptions {
|
|
14
|
+
caBundle: string;
|
|
15
|
+
networkTypeFile?: string;
|
|
16
|
+
log?: Log;
|
|
17
|
+
getExtensionValue?: (certPem: string, oid: string) => Buffer | undefined;
|
|
18
|
+
loadAttestationModule?: () => Promise<AttestationWasmNode>;
|
|
19
|
+
verifySignature?: (mrEnclave: Uint8Array, evidenceType: TeeEvidenceType) => Promise<void>;
|
|
20
|
+
}
|
|
21
|
+
export declare function resolveLocalNetworkType(networkTypeFile?: string): Promise<NetworkType>;
|
|
22
|
+
export declare function verifyRootCertificateTrust(options: RootCertificateVerifierOptions): Promise<void>;
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.verifyRootCertificateTrust = exports.resolveLocalNetworkType = void 0;
|
|
27
|
+
const pki_common_1 = require("@super-protocol/pki-common");
|
|
28
|
+
const attestation_common_1 = require("@super-protocol/attestation-common");
|
|
29
|
+
const sdk_js_1 = require("@super-protocol/sdk-js");
|
|
30
|
+
const fs = __importStar(require("fs"));
|
|
31
|
+
const preservedDynamicImport = new Function('specifier', 'return import(specifier)');
|
|
32
|
+
const NETWORK_TYPES = ['trusted', 'untrusted'];
|
|
33
|
+
const isNetworkType = (value) => NETWORK_TYPES.includes(value);
|
|
34
|
+
async function resolveLocalNetworkType(networkTypeFile) {
|
|
35
|
+
if (!networkTypeFile) {
|
|
36
|
+
return 'untrusted';
|
|
37
|
+
}
|
|
38
|
+
const value = (await fs.promises.readFile(networkTypeFile, 'utf8')).trim();
|
|
39
|
+
if (!isNetworkType(value)) {
|
|
40
|
+
throw new Error(`Invalid network type file "${networkTypeFile}": expected trusted or untrusted`);
|
|
41
|
+
}
|
|
42
|
+
return value;
|
|
43
|
+
}
|
|
44
|
+
exports.resolveLocalNetworkType = resolveLocalNetworkType;
|
|
45
|
+
const getRootCertificate = (caBundle) => {
|
|
46
|
+
const certs = (0, pki_common_1.splitCerts)(caBundle).map((cert) => cert.trim());
|
|
47
|
+
const rootCert = certs.at(-1);
|
|
48
|
+
if (!rootCert) {
|
|
49
|
+
throw new Error('Root certificate verification failed: CA bundle is empty');
|
|
50
|
+
}
|
|
51
|
+
return `${rootCert}\n`;
|
|
52
|
+
};
|
|
53
|
+
const readNetworkTypeExtension = (rootCertPem, getExtensionValue) => {
|
|
54
|
+
const networkType = getExtensionValue(rootCertPem, pki_common_1.OID_CUSTOM_EXTENSION_NETWORK_TYPE)
|
|
55
|
+
?.toString('ascii')
|
|
56
|
+
.trim();
|
|
57
|
+
if (!networkType || !isNetworkType(networkType)) {
|
|
58
|
+
throw new Error(`Root certificate verification failed: missing or invalid ${pki_common_1.OID_CUSTOM_EXTENSION_NETWORK_TYPE} extension`);
|
|
59
|
+
}
|
|
60
|
+
return networkType;
|
|
61
|
+
};
|
|
62
|
+
const defaultLoadAttestationModule = () => preservedDynamicImport('@super-protocol/attestation-wasm/node');
|
|
63
|
+
const calculateMrEnclave = async (serializedEvidence, evidenceType, attestation) => {
|
|
64
|
+
switch (evidenceType) {
|
|
65
|
+
case attestation_common_1.TeeEvidenceType.TEE_EVIDENCE_TYPE_INTEL_TDX_QEMU:
|
|
66
|
+
case attestation_common_1.TeeEvidenceType.TEE_EVIDENCE_TYPE_INTEL_TDX_GCP:
|
|
67
|
+
return (await attestation.calculateMrEnclave(serializedEvidence))
|
|
68
|
+
.mrEnclave;
|
|
69
|
+
case attestation_common_1.TeeEvidenceType.TEE_EVIDENCE_TYPE_AMD_SEV_SNP_QEMU: {
|
|
70
|
+
const evidence = attestation_common_1.TeeEvidence.decode(serializedEvidence);
|
|
71
|
+
const report = evidence.amdSevSnpQemu?.snpReport;
|
|
72
|
+
if (!report) {
|
|
73
|
+
throw new Error('Root certificate verification failed: SEV-SNP evidence is missing snpReport');
|
|
74
|
+
}
|
|
75
|
+
return attestation.calculateSnpSingleCoreMrEnclave(report);
|
|
76
|
+
}
|
|
77
|
+
default:
|
|
78
|
+
throw new Error(`Root certificate verification failed: unsupported TEE evidence type ${evidenceType}`);
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
async function verifyRootCertificateTrust(options) {
|
|
82
|
+
const getExtensionValue = options.getExtensionValue ??
|
|
83
|
+
((certPem, oid) => sdk_js_1.CertificatesHelper.getExtensionValue(certPem, oid));
|
|
84
|
+
const verifySignature = options.verifySignature ?? attestation_common_1.verifyMrEnclaveSignature;
|
|
85
|
+
const localNetworkType = await resolveLocalNetworkType(options.networkTypeFile);
|
|
86
|
+
const rootCertPem = getRootCertificate(options.caBundle);
|
|
87
|
+
const rootNetworkType = readNetworkTypeExtension(rootCertPem, getExtensionValue);
|
|
88
|
+
if (rootNetworkType !== localNetworkType) {
|
|
89
|
+
throw new Error(`Root certificate verification failed: certificate network type "${rootNetworkType}" does not match local network type "${localNetworkType}"`);
|
|
90
|
+
}
|
|
91
|
+
if (rootNetworkType === 'untrusted') {
|
|
92
|
+
options.log?.info('Root certificate network type verified', {
|
|
93
|
+
networkType: rootNetworkType,
|
|
94
|
+
});
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
const serializedEvidence = getExtensionValue(rootCertPem, pki_common_1.OID_TEE_EVIDENCE);
|
|
98
|
+
if (!serializedEvidence) {
|
|
99
|
+
throw new Error(`Root certificate verification failed: trusted root certificate is missing ${pki_common_1.OID_TEE_EVIDENCE} evidence extension`);
|
|
100
|
+
}
|
|
101
|
+
const attestation = await (options.loadAttestationModule ?? defaultLoadAttestationModule)();
|
|
102
|
+
const verificationResult = await attestation.verifyTeeEvidence(serializedEvidence);
|
|
103
|
+
const mrEnclave = await calculateMrEnclave(serializedEvidence, verificationResult.evidenceType, attestation);
|
|
104
|
+
await verifySignature(mrEnclave, verificationResult.evidenceType);
|
|
105
|
+
options.log?.info('Trusted root certificate evidence verified', {
|
|
106
|
+
evidenceType: verificationResult.evidenceType,
|
|
107
|
+
mrEnclaveHex: Buffer.from(mrEnclave).toString('hex'),
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
exports.verifyRootCertificateTrust = verifyRootCertificateTrust;
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC1jZXJ0aWZpY2F0ZS12ZXJpZmllci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9yb290LWNlcnRpZmljYXRlLXZlcmlmaWVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMkRBTW9DO0FBQ3BDLDJFQUs0QztBQUM1QyxtREFBNEQ7QUFDNUQsdUNBQXlCO0FBY3pCLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxRQUFRLENBQ3ZDLFdBQVcsRUFDWCwwQkFBMEIsQ0FDWixDQUFDO0FBY25CLE1BQU0sYUFBYSxHQUFrQixDQUFDLFNBQVMsRUFBRSxXQUFXLENBQUMsQ0FBQztBQUU5RCxNQUFNLGFBQWEsR0FBRyxDQUFDLEtBQWEsRUFBd0IsRUFBRSxDQUN6RCxhQUEwQixDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUV6QyxLQUFLLFVBQVUsdUJBQXVCLENBQ3pDLGVBQXdCO0lBRXhCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUNuQixPQUFPLFdBQVcsQ0FBQztJQUN2QixDQUFDO0lBRUQsTUFBTSxLQUFLLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLGVBQWUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzNFLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN4QixNQUFNLElBQUksS0FBSyxDQUNYLDhCQUE4QixlQUFlLGtDQUFrQyxDQUNsRixDQUFDO0lBQ04sQ0FBQztJQUVELE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUM7QUFmRCwwREFlQztBQUVELE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxRQUFnQixFQUFVLEVBQUU7SUFDcEQsTUFBTSxLQUFLLEdBQUcsSUFBQSx1QkFBVSxFQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFF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
|
package/dist/sync-client.d.ts
CHANGED
package/dist/sync-client.js
CHANGED
|
@@ -30,6 +30,7 @@ exports.SyncClient = void 0;
|
|
|
30
30
|
const pki_client_1 = require("@super-protocol/pki-client");
|
|
31
31
|
const pki_common_1 = require("@super-protocol/pki-common");
|
|
32
32
|
const pki_attestation_engine_1 = require("@super-protocol/pki-attestation-engine");
|
|
33
|
+
const root_certificate_verifier_1 = require("./root-certificate-verifier");
|
|
33
34
|
const sdk_js_1 = require("@super-protocol/sdk-js");
|
|
34
35
|
const axios_1 = __importDefault(require("axios"));
|
|
35
36
|
const fs = __importStar(require("fs"));
|
|
@@ -244,6 +245,17 @@ class SyncClient {
|
|
|
244
245
|
disableServerIdentityCheck: this.options.disableServerIdentityCheck ?? false,
|
|
245
246
|
});
|
|
246
247
|
pkiClientFactory = new pki_client_1.PkiClientFactory(pkiConfig, serverLog);
|
|
248
|
+
const clientCert = await pkiClientFactory.getCert();
|
|
249
|
+
if (this.options.disableServerIdentityCheck) {
|
|
250
|
+
serverLog.warn('Root certificate trust verification is disabled because disableServerIdentityCheck is enabled');
|
|
251
|
+
}
|
|
252
|
+
else {
|
|
253
|
+
await (0, root_certificate_verifier_1.verifyRootCertificateTrust)({
|
|
254
|
+
caBundle: clientCert.caBundle,
|
|
255
|
+
networkTypeFile: this.options.networkTypeFile,
|
|
256
|
+
log: serverLog,
|
|
257
|
+
});
|
|
258
|
+
}
|
|
247
259
|
httpsAgent = await pkiClientFactory.getHTTPSAgent();
|
|
248
260
|
serverLog.info('PKI client prepared successfully');
|
|
249
261
|
}
|
|
@@ -304,4 +316,4 @@ class SyncClient {
|
|
|
304
316
|
}
|
|
305
317
|
}
|
|
306
318
|
exports.SyncClient = SyncClient;
|
|
307
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy1jbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvc3luYy1jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSwyREFJb0M7QUFDcEMsMkRBT29DO0FBQ3BDLG1GQUdnRDtBQUNoRCxtREFBaUQ7QUFDakQsa0RBQTBCO0FBQzFCLHVDQUF5QjtBQUN6QiwyQ0FBNkI7QUFlN0IsTUFBYSxVQUFVO0lBQ25CLE1BQU0sQ0FBVSxzQkFBc0IsR0FBRyxDQUFDLENBQUMsQ0FBQyw0QkFBNEI7SUFDeEUsTUFBTSxDQUFVLHVCQUF1QixHQUFHLEVBQUUsQ0FBQztJQUNyQyxNQUFNLENBQVUsNkJBQTZCLEdBQUcsSUFBSSxHQUFHLENBQUM7UUFDNUQsV0FBVztRQUNYLFlBQVk7UUFDWixjQUFjO1FBQ2QsV0FBVztRQUNYLFdBQVc7UUFDWCxjQUFjO0tBQ2pCLENBQUMsQ0FBQztJQUNLLE1BQU0sQ0FBVSwyQkFBMkIsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBRWxFLE9BQU8sQ0FBb0I7SUFDM0IsU0FBUyxDQUFtQjtJQUM1QixNQUFNLENBQU07SUFDWixhQUFhLENBQVM7SUFDdEIsYUFBYSxDQUFTO0lBRXRCLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxhQUFvQztRQUlsRSxRQUFRLGFBQWEsRUFBRSxDQUFDO1lBQ3BCLEtBQUssMEJBQWEsQ0FBQyxHQUFHLENBQUM7WUFDdkIsS0FBSywwQkFBYSxDQUFDLFNBQVMsQ0FBQztZQUM3QixLQUFLLDBCQUFhLENBQUMsTUFBTTtnQkFDckIsT0FBTztvQkFDSCxTQUFTLEVBQUUsSUFBSTtvQkFDZixJQUFJLEVBQUUsYUFBYTtpQkFDdEIsQ0FBQztZQUNOO2dCQUNJLE9BQU87b0JBQ0gsU0FBUyxFQUFFLEtBQUs7b0JBQ2hCLElBQUksRUFBRSxnQkFBZ0I7aUJBQ3pCLENB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
|
|
319
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy1jbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvc3luYy1jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSwyREFJb0M7QUFDcEMsMkRBT29DO0FBQ3BDLG1GQUdnRDtBQUNoRCwyRUFBeUU7QUFDekUsbURBQWlEO0FBQ2pELGtEQUEwQjtBQUMxQix1Q0FBeUI7QUFDekIsMkNBQTZCO0FBZ0I3QixNQUFhLFVBQVU7SUFDbkIsTUFBTSxDQUFVLHNCQUFzQixHQUFHLENBQUMsQ0FBQyxDQUFDLDRCQUE0QjtJQUN4RSxNQUFNLENBQVUsdUJBQXVCLEdBQUcsRUFBRSxDQUFDO0lBQ3JDLE1BQU0sQ0FBVSw2QkFBNkIsR0FBRyxJQUFJLEdBQUcsQ0FBQztRQUM1RCxXQUFXO1FBQ1gsWUFBWTtRQUNaLGNBQWM7UUFDZCxXQUFXO1FBQ1gsV0FBVztRQUNYLGNBQWM7S0FDakIsQ0FBQyxDQUFDO0lBQ0ssTUFBTSxDQUFVLDJCQUEyQixHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFFbEUsT0FBTyxDQUFvQjtJQUMzQixTQUFTLENBQW1CO0lBQzVCLE1BQU0sQ0FBTTtJQUNaLGFBQWEsQ0FBUztJQUN0QixhQUFhLENBQVM7SUFFdEIsTUFBTSxDQUFDLGtCQUFrQixDQUFDLGFBQW9DO1FBSWxFLFFBQVEsYUFBYSxFQUFFLENBQUM7WUFDcEIsS0FBSywwQkFBYSxDQUFDLEdBQUcsQ0FBQztZQUN2QixLQUFLLDBCQUFhLENBQUMsU0FBUyxDQUFDO1lBQzdCLEtBQUssMEJBQWEsQ0FBQyxNQUFNO2dCQUNyQixPQUFPO29CQUNILFNBQVMsRUFBRSxJQUFJO29CQUNmLElBQUksRUFBRSxhQUFhO2lCQUN0QixDQUFDO1lBQ047Z0JBQ0ksT0FBTztvQkFDSCxTQUFTLEVBQUUsS0FBSztvQkFDaEIsSUFBSSxFQUFFLGdC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
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,18 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@super-protocol/pki-sync-client",
|
|
3
|
-
"version": "5.0.
|
|
3
|
+
"version": "5.0.3",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@super-protocol/pki-sync-client",
|
|
9
|
-
"version": "5.0.
|
|
9
|
+
"version": "5.0.3",
|
|
10
10
|
"license": "ISC",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@sinclair/typebox": "0.33.22",
|
|
13
|
-
"@super-protocol/
|
|
14
|
-
"@super-protocol/
|
|
15
|
-
"@super-protocol/pki-
|
|
13
|
+
"@super-protocol/attestation-common": "0.1.2",
|
|
14
|
+
"@super-protocol/attestation-wasm": "0.1.2",
|
|
15
|
+
"@super-protocol/pki-attestation-engine": "5.0.2",
|
|
16
|
+
"@super-protocol/pki-client": "5.0.2",
|
|
17
|
+
"@super-protocol/pki-common": "5.0.1",
|
|
16
18
|
"axios": "^1.16.0",
|
|
17
19
|
"js-yaml": "^4.1.0",
|
|
18
20
|
"yargs": "^17.7.2"
|
|
@@ -27,6 +29,10 @@
|
|
|
27
29
|
"@types/js-yaml": "^4.0.9",
|
|
28
30
|
"@types/node": "^20.11.0",
|
|
29
31
|
"@types/yargs": "^17.0.33"
|
|
32
|
+
},
|
|
33
|
+
"engines": {
|
|
34
|
+
"node": ">=24.0.0",
|
|
35
|
+
"npm": ">=11.0.0"
|
|
30
36
|
}
|
|
31
37
|
},
|
|
32
38
|
"node_modules/@adraffy/ens-normalize": {
|
|
@@ -1321,19 +1327,21 @@
|
|
|
1321
1327
|
"integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg=="
|
|
1322
1328
|
},
|
|
1323
1329
|
"node_modules/@protobufjs/codegen": {
|
|
1324
|
-
"version": "2.0.
|
|
1325
|
-
"integrity": "sha512-
|
|
1330
|
+
"version": "2.0.5",
|
|
1331
|
+
"integrity": "sha512-zgXFLzW3Ap33e6d0Wlj4MGIm6Ce8O89n/apUaGNB/jx+hw+ruWEp7EwGUshdLKVRCxZW12fp9r40E1mQrf/34g==",
|
|
1332
|
+
"license": "BSD-3-Clause"
|
|
1326
1333
|
},
|
|
1327
1334
|
"node_modules/@protobufjs/eventemitter": {
|
|
1328
|
-
"version": "1.1.
|
|
1329
|
-
"integrity": "sha512-
|
|
1335
|
+
"version": "1.1.1",
|
|
1336
|
+
"integrity": "sha512-vW1GmwMZNnL+gMRaovlh9yZX74kc+TTU3FObkkurpMaRtBfLP3ldjS9KQWlwZgraRE0+dheEEoAxdzcJQ8eXZg==",
|
|
1337
|
+
"license": "BSD-3-Clause"
|
|
1330
1338
|
},
|
|
1331
1339
|
"node_modules/@protobufjs/fetch": {
|
|
1332
|
-
"version": "1.1.
|
|
1333
|
-
"integrity": "sha512-
|
|
1340
|
+
"version": "1.1.1",
|
|
1341
|
+
"integrity": "sha512-GpptLrs57adMSuHi3VNj0mAF8dwh36LMaYF6XyJ6JMWlVsc+t42tm1HSEDmOs3A8fC9yyeisgLhsTVQokOZ0zw==",
|
|
1342
|
+
"license": "BSD-3-Clause",
|
|
1334
1343
|
"dependencies": {
|
|
1335
|
-
"@protobufjs/aspromise": "^1.1.1"
|
|
1336
|
-
"@protobufjs/inquire": "^1.1.0"
|
|
1344
|
+
"@protobufjs/aspromise": "^1.1.1"
|
|
1337
1345
|
}
|
|
1338
1346
|
},
|
|
1339
1347
|
"node_modules/@protobufjs/float": {
|
|
@@ -1353,8 +1361,9 @@
|
|
|
1353
1361
|
"integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw=="
|
|
1354
1362
|
},
|
|
1355
1363
|
"node_modules/@protobufjs/utf8": {
|
|
1356
|
-
"version": "1.1.
|
|
1357
|
-
"integrity": "sha512-
|
|
1364
|
+
"version": "1.1.2",
|
|
1365
|
+
"integrity": "sha512-b1UQwcEZ4yCnMCD8DAL1VlbvBJE9/IX4FTIp7BG1xYpf29SLazLSrqUkj4w7Y5y7cCVP6E5tcqqcI0xemPkHug==",
|
|
1366
|
+
"license": "BSD-3-Clause"
|
|
1358
1367
|
},
|
|
1359
1368
|
"node_modules/@scure/base": {
|
|
1360
1369
|
"version": "1.1.9",
|
|
@@ -2117,6 +2126,87 @@
|
|
|
2117
2126
|
"integrity": "sha512-75232GRx3wp3P7NP+yc4nRK3XUAnaQShxTAzapgmQrgs0QvSq0/mOJGoZXRpH15cFCKyys+4laCPbBselqJ5Ag==",
|
|
2118
2127
|
"license": "MIT"
|
|
2119
2128
|
},
|
|
2129
|
+
"node_modules/@super-protocol/attestation-common": {
|
|
2130
|
+
"version": "0.1.2",
|
|
2131
|
+
"integrity": "sha512-j+uEOuoppwuUHlSDupSpBdG+o5eknGSv5lIzfH1KQwAGVXA78OcA93dp1eeXlPfss/+cNyD+GprZyKXd3J1Qhw==",
|
|
2132
|
+
"license": "BSL-1.0",
|
|
2133
|
+
"dependencies": {
|
|
2134
|
+
"@aws-sdk/client-s3": "^3.735.0",
|
|
2135
|
+
"@sinclair/typebox": "^0.33.17",
|
|
2136
|
+
"protobufjs": "^7.4.0"
|
|
2137
|
+
},
|
|
2138
|
+
"engines": {
|
|
2139
|
+
"node": ">=24.0",
|
|
2140
|
+
"npm": ">=11.0"
|
|
2141
|
+
}
|
|
2142
|
+
},
|
|
2143
|
+
"node_modules/@super-protocol/attestation-common/node_modules/long": {
|
|
2144
|
+
"version": "5.3.2",
|
|
2145
|
+
"integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==",
|
|
2146
|
+
"license": "Apache-2.0"
|
|
2147
|
+
},
|
|
2148
|
+
"node_modules/@super-protocol/attestation-common/node_modules/protobufjs": {
|
|
2149
|
+
"version": "7.6.5",
|
|
2150
|
+
"integrity": "sha512-/FPD0nUc9jH6rfFjji9IBqOz4pcSE3CsT1m7Ep6Mdb0LxSUMj8hgl6GomOvZzpNpAqqGaXA0P3VSrZLFzIhQrw==",
|
|
2151
|
+
"hasInstallScript": true,
|
|
2152
|
+
"license": "BSD-3-Clause",
|
|
2153
|
+
"dependencies": {
|
|
2154
|
+
"@protobufjs/aspromise": "^1.1.2",
|
|
2155
|
+
"@protobufjs/base64": "^1.1.2",
|
|
2156
|
+
"@protobufjs/codegen": "^2.0.5",
|
|
2157
|
+
"@protobufjs/eventemitter": "^1.1.1",
|
|
2158
|
+
"@protobufjs/fetch": "^1.1.1",
|
|
2159
|
+
"@protobufjs/float": "^1.0.2",
|
|
2160
|
+
"@protobufjs/path": "^1.1.2",
|
|
2161
|
+
"@protobufjs/pool": "^1.1.0",
|
|
2162
|
+
"@protobufjs/utf8": "^1.1.1",
|
|
2163
|
+
"@types/node": ">=13.7.0",
|
|
2164
|
+
"long": "^5.3.2"
|
|
2165
|
+
},
|
|
2166
|
+
"engines": {
|
|
2167
|
+
"node": ">=12.0.0"
|
|
2168
|
+
}
|
|
2169
|
+
},
|
|
2170
|
+
"node_modules/@super-protocol/attestation-wasm": {
|
|
2171
|
+
"version": "0.1.2",
|
|
2172
|
+
"integrity": "sha512-1WR6AA3CGxb0V4Egw1fpHBSjqMe8zI5O9fuInfPPfuQMKBQ8YJpNBOTG0qWGAMLlEd1C2Dkt3e+cZ8WXhtQPuA==",
|
|
2173
|
+
"license": "BSL-1.0",
|
|
2174
|
+
"dependencies": {
|
|
2175
|
+
"@super-protocol/attestation-common": "^0.1.2",
|
|
2176
|
+
"protobufjs": "^7.4.0"
|
|
2177
|
+
},
|
|
2178
|
+
"engines": {
|
|
2179
|
+
"node": ">=24.0",
|
|
2180
|
+
"npm": ">=11.0"
|
|
2181
|
+
}
|
|
2182
|
+
},
|
|
2183
|
+
"node_modules/@super-protocol/attestation-wasm/node_modules/long": {
|
|
2184
|
+
"version": "5.3.2",
|
|
2185
|
+
"integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==",
|
|
2186
|
+
"license": "Apache-2.0"
|
|
2187
|
+
},
|
|
2188
|
+
"node_modules/@super-protocol/attestation-wasm/node_modules/protobufjs": {
|
|
2189
|
+
"version": "7.6.5",
|
|
2190
|
+
"integrity": "sha512-/FPD0nUc9jH6rfFjji9IBqOz4pcSE3CsT1m7Ep6Mdb0LxSUMj8hgl6GomOvZzpNpAqqGaXA0P3VSrZLFzIhQrw==",
|
|
2191
|
+
"hasInstallScript": true,
|
|
2192
|
+
"license": "BSD-3-Clause",
|
|
2193
|
+
"dependencies": {
|
|
2194
|
+
"@protobufjs/aspromise": "^1.1.2",
|
|
2195
|
+
"@protobufjs/base64": "^1.1.2",
|
|
2196
|
+
"@protobufjs/codegen": "^2.0.5",
|
|
2197
|
+
"@protobufjs/eventemitter": "^1.1.1",
|
|
2198
|
+
"@protobufjs/fetch": "^1.1.1",
|
|
2199
|
+
"@protobufjs/float": "^1.0.2",
|
|
2200
|
+
"@protobufjs/path": "^1.1.2",
|
|
2201
|
+
"@protobufjs/pool": "^1.1.0",
|
|
2202
|
+
"@protobufjs/utf8": "^1.1.1",
|
|
2203
|
+
"@types/node": ">=13.7.0",
|
|
2204
|
+
"long": "^5.3.2"
|
|
2205
|
+
},
|
|
2206
|
+
"engines": {
|
|
2207
|
+
"node": ">=12.0.0"
|
|
2208
|
+
}
|
|
2209
|
+
},
|
|
2120
2210
|
"node_modules/@super-protocol/dto-js": {
|
|
2121
2211
|
"version": "1.3.0",
|
|
2122
2212
|
"integrity": "sha512-BeSZqYCYBINUa3JnrOEvu3qKrvAx8ShEYcoQ0RD/PwMxMZ4X60RvzEVN4Q0G2QzMLdNYGbNsNP5dvDZU4T5eGQ==",
|
|
@@ -2148,29 +2238,28 @@
|
|
|
2148
2238
|
"version": "5.0.0",
|
|
2149
2239
|
"license": "ISC",
|
|
2150
2240
|
"dependencies": {
|
|
2151
|
-
"@super-protocol/pki-api-common": "^5.0.
|
|
2152
|
-
"@super-protocol/pki-common": "^5.0.0",
|
|
2241
|
+
"@super-protocol/pki-api-common": "^5.0.1",
|
|
2153
2242
|
"axios": "^1.16.0",
|
|
2154
2243
|
"typescript-retry-decorator": "^2.4.2"
|
|
2155
2244
|
}
|
|
2156
2245
|
},
|
|
2157
2246
|
"node_modules/@super-protocol/pki-api-common": {
|
|
2158
2247
|
"name": "@super-protocol/pki-api-common",
|
|
2159
|
-
"version": "5.0.
|
|
2248
|
+
"version": "5.0.1",
|
|
2160
2249
|
"license": "ISC",
|
|
2161
2250
|
"dependencies": {
|
|
2162
2251
|
"@sinclair/typebox": "0.33.22",
|
|
2163
|
-
"@super-protocol/pki-common": "^5.0.
|
|
2252
|
+
"@super-protocol/pki-common": "^5.0.1"
|
|
2164
2253
|
}
|
|
2165
2254
|
},
|
|
2166
2255
|
"node_modules/@super-protocol/pki-attestation-engine": {
|
|
2167
2256
|
"name": "@super-protocol/pki-attestation-engine",
|
|
2168
|
-
"version": "5.0.
|
|
2257
|
+
"version": "5.0.2",
|
|
2169
2258
|
"license": "ISC",
|
|
2170
2259
|
"dependencies": {
|
|
2171
2260
|
"@sinclair/typebox": "0.33.22",
|
|
2172
2261
|
"@super-protocol/addons-tee": "^3.0.0",
|
|
2173
|
-
"@super-protocol/pki-common": "^5.0.
|
|
2262
|
+
"@super-protocol/pki-common": "^5.0.1",
|
|
2174
2263
|
"@super-protocol/sp-nvtrust-wrapper": "^2.1.0"
|
|
2175
2264
|
},
|
|
2176
2265
|
"peerDependencies": {
|
|
@@ -2179,18 +2268,18 @@
|
|
|
2179
2268
|
},
|
|
2180
2269
|
"node_modules/@super-protocol/pki-client": {
|
|
2181
2270
|
"name": "@super-protocol/pki-client",
|
|
2182
|
-
"version": "5.0.
|
|
2271
|
+
"version": "5.0.2",
|
|
2183
2272
|
"license": "ISC",
|
|
2184
2273
|
"dependencies": {
|
|
2185
2274
|
"@super-protocol/pki-api-client": "^5.0.0",
|
|
2186
|
-
"@super-protocol/pki-attestation-engine": "^5.0.
|
|
2187
|
-
"@super-protocol/pki-common": "^5.0.
|
|
2275
|
+
"@super-protocol/pki-attestation-engine": "^5.0.2",
|
|
2276
|
+
"@super-protocol/pki-common": "^5.0.1",
|
|
2188
2277
|
"yaml": "^2.6.0"
|
|
2189
2278
|
}
|
|
2190
2279
|
},
|
|
2191
2280
|
"node_modules/@super-protocol/pki-common": {
|
|
2192
2281
|
"name": "@super-protocol/pki-common",
|
|
2193
|
-
"version": "5.0.
|
|
2282
|
+
"version": "5.0.1",
|
|
2194
2283
|
"license": "ISC",
|
|
2195
2284
|
"dependencies": {
|
|
2196
2285
|
"@peculiar/x509": "^1.13.0",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@super-protocol/pki-sync-client",
|
|
3
|
-
"version": "5.0.
|
|
3
|
+
"version": "5.0.3",
|
|
4
4
|
"description": "PKI sync client utility",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -22,11 +22,17 @@
|
|
|
22
22
|
},
|
|
23
23
|
"author": "Super Protocol",
|
|
24
24
|
"license": "ISC",
|
|
25
|
+
"engines": {
|
|
26
|
+
"node": ">=24.0.0",
|
|
27
|
+
"npm": ">=11.0.0"
|
|
28
|
+
},
|
|
25
29
|
"dependencies": {
|
|
26
30
|
"@sinclair/typebox": "0.33.22",
|
|
27
|
-
"@super-protocol/
|
|
28
|
-
"@super-protocol/
|
|
29
|
-
"@super-protocol/pki-
|
|
31
|
+
"@super-protocol/attestation-common": "0.1.2",
|
|
32
|
+
"@super-protocol/attestation-wasm": "0.1.2",
|
|
33
|
+
"@super-protocol/pki-attestation-engine": "5.0.2",
|
|
34
|
+
"@super-protocol/pki-client": "5.0.2",
|
|
35
|
+
"@super-protocol/pki-common": "5.0.1",
|
|
30
36
|
"axios": "^1.16.0",
|
|
31
37
|
"js-yaml": "^4.1.0",
|
|
32
38
|
"yargs": "^17.7.2"
|