@super-protocol/pki-common 0.0.0-nvidia-local-verifier

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.
@@ -0,0 +1,12 @@
1
+ import { Log, LogContext, LogLevel } from './types';
2
+ export declare abstract class CommonBaseLog implements Log {
3
+ abstract log(level: LogLevel, msg: string, context?: LogContext): void;
4
+ fatal(msg: string, context?: LogContext): void;
5
+ error(msg: string, context?: LogContext): void;
6
+ warn(msg: string, context?: LogContext): void;
7
+ info(msg: string, context?: LogContext): void;
8
+ debug(msg: string, context?: LogContext): void;
9
+ trace(msg: string, context?: LogContext): void;
10
+ child(context: Record<string, any>): Log;
11
+ baseContext: Record<string, any>;
12
+ }
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CommonBaseLog = void 0;
4
+ const types_1 = require("./types");
5
+ class CommonBaseLog {
6
+ fatal(msg, context) {
7
+ return this.log(types_1.LogLevel.Fatal, msg, {
8
+ ...this.baseContext,
9
+ ...context,
10
+ });
11
+ }
12
+ error(msg, context) {
13
+ return this.log(types_1.LogLevel.Error, msg, {
14
+ ...this.baseContext,
15
+ ...context,
16
+ });
17
+ }
18
+ warn(msg, context) {
19
+ return this.log(types_1.LogLevel.Warn, msg, {
20
+ ...this.baseContext,
21
+ ...context,
22
+ });
23
+ }
24
+ info(msg, context) {
25
+ return this.log(types_1.LogLevel.Info, msg, {
26
+ ...this.baseContext,
27
+ ...context,
28
+ });
29
+ }
30
+ debug(msg, context) {
31
+ return this.log(types_1.LogLevel.Debug, msg, {
32
+ ...this.baseContext,
33
+ ...context,
34
+ });
35
+ }
36
+ trace(msg, context) {
37
+ return this.log(types_1.LogLevel.Trace, msg, {
38
+ ...this.baseContext,
39
+ ...context,
40
+ });
41
+ }
42
+ child(context) {
43
+ const cloned = Object.assign(Object.create(Object.getPrototypeOf(this)), this);
44
+ cloned.baseContext = { ...cloned.baseContext, ...context };
45
+ return cloned;
46
+ }
47
+ baseContext = {};
48
+ }
49
+ exports.CommonBaseLog = CommonBaseLog;
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uQmFzZUxvZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tb25CYXNlTG9nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1DQUFvRDtBQUVwRCxNQUFzQixhQUFhO0lBTy9CLEtBQUssQ0FBQyxHQUFXLEVBQUUsT0FBb0I7UUFDbkMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLGdCQUFRLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRTtZQUNqQyxHQUFHLElBQUksQ0FBQyxXQUFXO1lBQ25CLEdBQUcsT0FBTztTQUNiLENBQUMsQ0FBQztJQUNQLENBQUM7SUFDRCxLQUFLLENBQUMsR0FBVyxFQUFFLE9BQW9CO1FBQ25DLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxnQkFBUSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUU7WUFDakMsR0FBRyxJQUFJLENBQUMsV0FBVztZQUNuQixHQUFHLE9BQU87U0FDYixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsSUFBSSxDQUFDLEdBQVcsRUFBRSxPQUFvQjtRQUNsQyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsZ0JBQVEsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFO1lBQ2hDLEdBQUcsSUFBSSxDQUFDLFdBQVc7WUFDbkIsR0FBRyxPQUFPO1NBQ2IsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUNELElBQUksQ0FBQyxHQUFXLEVBQUUsT0FBb0I7UUFDbEMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLGdCQUFRLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRTtZQUNoQyxHQUFHLElBQUksQ0FBQyxXQUFXO1lBQ25CLEdBQUcsT0FBTztTQUNiLENBQUMsQ0FBQztJQUNQLENBQUM7SUFDRCxLQUFLLENBQUMsR0FBVyxFQUFFLE9BQW9CO1FBQ25DLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxnQkFBUSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUU7WUFDakMsR0FBRyxJQUFJLENBQUMsV0FBVztZQUNuQixHQUFHLE9BQU87U0FDYixDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0QsS0FBSyxDQUFDLEdBQVcsRUFBRSxPQUFvQjtRQUNuQyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsZ0JBQVEsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFO1lBQ2pDLEdBQUcsSUFBSSxDQUFDLFdBQVc7WUFDbkIsR0FBRyxPQUFPO1NBQ2IsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUE0QjtRQUM5QixNQUFNLE1BQU0sR0FBUSxNQUFNLENBQUMsTUFBTSxDQUM3QixNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsRUFDMUMsSUFBSSxDQUNQLENBQUM7UUFDRixNQUFNLENBQUMsV0FBVyxHQUFHLEVBQUUsR0FBRyxNQUFNLENBQUMsV0FBVyxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUM7UUFDM0QsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztJQUVELFdBQVcsR0FBd0IsRUFBRSxDQUFDO0NBQ3pDO0FBdkRELHNDQXVEQyJ9
@@ -0,0 +1,16 @@
1
+ export declare const OID_CUSTOM_EXTENSION_CHALLENGE = "1.3.6.1.3.8888.1";
2
+ export declare const OID_CUSTOM_EXTENSION_CHALLENGE_TYPE = "1.3.6.1.3.8888.1.1";
3
+ export declare const OID_CUSTOM_EXTENSION_CHALLENGE_SUBTYPE = "1.3.6.1.3.8888.1.1.1";
4
+ export declare const OID_CUSTOM_EXTENSION_CHALLENGE_ID = "1.3.6.1.3.8888.1.2";
5
+ export declare const OID_CUSTOM_EXTENSION_CHALLENGE_COMMON_ID = "1.3.6.1.3.8888.1.3";
6
+ export declare const OID_CUSTOM_EXTENSION_NVIDIA_INFO = "1.3.6.1.3.8888.1.4";
7
+ export declare const OID_CUSTOM_EXTENSION_NVIDIA_INFO_GPU = "1.3.6.1.3.8888.1.4.1";
8
+ export declare const OID_CUSTOM_EXTENSION_NVIDIA_INFO_GPU_INTERCONNECT = "1.3.6.1.3.8888.1.4.2";
9
+ export declare const OID_CUSTOM_EXTENSION_CHALLENGE_CERTIFICATE_ID = "1.3.6.1.3.8888.1.5";
10
+ export declare const OID_CUSTOM_EXTENSION_CHALLENGE_VALIDATED = "1.3.6.1.3.8888.1.6";
11
+ export declare const OID_CUSTOM_EXTENSION_NETWORK_TYPE = "1.3.6.1.3.8888.4";
12
+ export declare const OID_TEE_EVIDENCE = "0.6.9.42.840.113741.1337.6";
13
+ /**
14
+ * @deprecated Use OID_TEE_EVIDENCE instead.
15
+ */
16
+ export declare const OID_SGX_QUOTE = "0.6.9.42.840.113741.1337.6";
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OID_SGX_QUOTE = exports.OID_TEE_EVIDENCE = exports.OID_CUSTOM_EXTENSION_NETWORK_TYPE = exports.OID_CUSTOM_EXTENSION_CHALLENGE_VALIDATED = exports.OID_CUSTOM_EXTENSION_CHALLENGE_CERTIFICATE_ID = exports.OID_CUSTOM_EXTENSION_NVIDIA_INFO_GPU_INTERCONNECT = exports.OID_CUSTOM_EXTENSION_NVIDIA_INFO_GPU = exports.OID_CUSTOM_EXTENSION_NVIDIA_INFO = exports.OID_CUSTOM_EXTENSION_CHALLENGE_COMMON_ID = exports.OID_CUSTOM_EXTENSION_CHALLENGE_ID = exports.OID_CUSTOM_EXTENSION_CHALLENGE_SUBTYPE = exports.OID_CUSTOM_EXTENSION_CHALLENGE_TYPE = exports.OID_CUSTOM_EXTENSION_CHALLENGE = void 0;
4
+ exports.OID_CUSTOM_EXTENSION_CHALLENGE = '1.3.6.1.3.8888.1';
5
+ exports.OID_CUSTOM_EXTENSION_CHALLENGE_TYPE = `${exports.OID_CUSTOM_EXTENSION_CHALLENGE}.1`;
6
+ exports.OID_CUSTOM_EXTENSION_CHALLENGE_SUBTYPE = `${exports.OID_CUSTOM_EXTENSION_CHALLENGE_TYPE}.1`;
7
+ exports.OID_CUSTOM_EXTENSION_CHALLENGE_ID = `${exports.OID_CUSTOM_EXTENSION_CHALLENGE}.2`;
8
+ exports.OID_CUSTOM_EXTENSION_CHALLENGE_COMMON_ID = `${exports.OID_CUSTOM_EXTENSION_CHALLENGE}.3`;
9
+ exports.OID_CUSTOM_EXTENSION_NVIDIA_INFO = `${exports.OID_CUSTOM_EXTENSION_CHALLENGE}.4`;
10
+ exports.OID_CUSTOM_EXTENSION_NVIDIA_INFO_GPU = `${exports.OID_CUSTOM_EXTENSION_NVIDIA_INFO}.1`;
11
+ exports.OID_CUSTOM_EXTENSION_NVIDIA_INFO_GPU_INTERCONNECT = `${exports.OID_CUSTOM_EXTENSION_NVIDIA_INFO}.2`;
12
+ exports.OID_CUSTOM_EXTENSION_CHALLENGE_CERTIFICATE_ID = `${exports.OID_CUSTOM_EXTENSION_CHALLENGE}.5`;
13
+ exports.OID_CUSTOM_EXTENSION_CHALLENGE_VALIDATED = `${exports.OID_CUSTOM_EXTENSION_CHALLENGE}.6`;
14
+ exports.OID_CUSTOM_EXTENSION_NETWORK_TYPE = '1.3.6.1.3.8888.4';
15
+ exports.OID_TEE_EVIDENCE = '0.6.9.42.840.113741.1337.6';
16
+ /**
17
+ * @deprecated Use OID_TEE_EVIDENCE instead.
18
+ */
19
+ exports.OID_SGX_QUOTE = exports.OID_TEE_EVIDENCE;
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBYSxRQUFBLDhCQUE4QixHQUFHLGtCQUFrQixDQUFDO0FBQ3BELFFBQUEsbUNBQW1DLEdBQUcsR0FBRyxzQ0FBOEIsSUFBSSxDQUFDO0FBQzVFLFFBQUEsc0NBQXNDLEdBQUcsR0FBRywyQ0FBbUMsSUFBSSxDQUFDO0FBQ3BGLFFBQUEsaUNBQWlDLEdBQUcsR0FBRyxzQ0FBOEIsSUFBSSxDQUFDO0FBQzFFLFFBQUEsd0NBQXdDLEdBQUcsR0FBRyxzQ0FBOEIsSUFBSSxDQUFDO0FBQ2pGLFFBQUEsZ0NBQWdDLEdBQUcsR0FBRyxzQ0FBOEIsSUFBSSxDQUFDO0FBQ3pFLFFBQUEsb0NBQW9DLEdBQUcsR0FBRyx3Q0FBZ0MsSUFBSSxDQUFDO0FBQy9FLFFBQUEsaURBQWlELEdBQUcsR0FBRyx3Q0FBZ0MsSUFBSSxDQUFDO0FBQzVGLFFBQUEsNkNBQTZDLEdBQUcsR0FBRyxzQ0FBOEIsSUFBSSxDQUFDO0FBQ3RGLFFBQUEsd0NBQXdDLEdBQUcsR0FBRyxzQ0FBOEIsSUFBSSxDQUFDO0FBRWpGLFFBQUEsaUNBQWlDLEdBQUcsa0JBQWtCLENBQUM7QUFFdkQsUUFBQSxnQkFBZ0IsR0FBRyw0QkFBNEIsQ0FBQztBQUU3RDs7R0FFRztBQUNVLFFBQUEsYUFBYSxHQUFHLHdCQUFnQixDQUFDIn0=
@@ -0,0 +1,32 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ import { Challenge, ChallengeType, ChallengeWithNvidiaToken, IntermediateCertificates, KeyPairPem, TeeSslCertificate } from './types';
4
+ import { KeyObject } from 'crypto';
5
+ export declare const binaryIdToDomainName: (binaryId: Buffer) => string;
6
+ export declare const generateDomain: (baseDomain: string, challengeType: ChallengeType, binaryId: Buffer) => string;
7
+ export declare const getPublicKeyFromPrivate: (privateKeyPem: string) => string;
8
+ export declare const getPublicKeyPemHash: (publicKeyPem: string) => Buffer;
9
+ export declare const getPublicKeyHash: (publicKey: KeyObject) => Buffer;
10
+ export declare const generateEcKeyPair: () => KeyPairPem;
11
+ export declare const generateRsaKeyPair: () => KeyPairPem;
12
+ export declare const getPublicKeyFromCsr: (csrPem: string) => string;
13
+ export declare const splitCerts: (certsPem: string) => string[];
14
+ export declare const extractCommonNameFromSubject: (subject: string) => string | undefined;
15
+ export declare const extractIntermediateCertificates: {
16
+ (certs: TeeSslCertificate): IntermediateCertificates;
17
+ (certsChain: string): IntermediateCertificates;
18
+ };
19
+ export declare const hasChallengeNvidiaToken: (challenge: Challenge) => challenge is ChallengeWithNvidiaToken & {
20
+ nvidiaTokens: NonNullable<ChallengeWithNvidiaToken['nvidiaTokens']>;
21
+ };
22
+ export declare const hasChallengeNvidiaEvidence: (challenge: Challenge) => challenge is ChallengeWithNvidiaToken & {
23
+ nvidiaEvidence: NonNullable<ChallengeWithNvidiaToken['nvidiaEvidence']>;
24
+ };
25
+ export declare const isFileExisted: (filePath: string) => Promise<boolean>;
26
+ /**
27
+ * Wrapper around sortCertsFromLeafToRoot that handles the single self-signed cert case.
28
+ * sortCertsFromLeafToRoot returns [] for a single self-signed cert (leaf detection bug),
29
+ * so we skip sorting entirely when there is only one certificate.
30
+ */
31
+ export declare const sortCertsFromLeafToRootWrapper: (certsPem: string, sortFn: (pem: string) => string[]) => string[];
32
+ export declare const compareKeys: (keyPemOne: string, keyPemTwo: string) => boolean;
@@ -0,0 +1,198 @@
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.compareKeys = exports.sortCertsFromLeafToRootWrapper = exports.isFileExisted = exports.hasChallengeNvidiaEvidence = exports.hasChallengeNvidiaToken = exports.extractIntermediateCertificates = exports.extractCommonNameFromSubject = exports.splitCerts = exports.getPublicKeyFromCsr = exports.generateRsaKeyPair = exports.generateEcKeyPair = exports.getPublicKeyHash = exports.getPublicKeyPemHash = exports.getPublicKeyFromPrivate = exports.generateDomain = exports.binaryIdToDomainName = void 0;
27
+ const types_1 = require("./types");
28
+ const crypto_1 = require("crypto");
29
+ const base32 = __importStar(require("hi-base32"));
30
+ const fs_1 = require("fs");
31
+ const x509_1 = require("@peculiar/x509");
32
+ const binaryIdToDomainName = (binaryId) => base32.encode(binaryId.subarray(0, 16)).replace(/=+$/, '').toLowerCase();
33
+ exports.binaryIdToDomainName = binaryIdToDomainName;
34
+ const generateDomain = (baseDomain, challengeType, binaryId) => `${(0, exports.binaryIdToDomainName)(binaryId)}.${challengeType}.${baseDomain}`;
35
+ exports.generateDomain = generateDomain;
36
+ const getPublicKeyFromPrivate = (privateKeyPem) => {
37
+ return (0, crypto_1.createPublicKey)(privateKeyPem).export({
38
+ type: 'spki',
39
+ format: 'pem',
40
+ });
41
+ };
42
+ exports.getPublicKeyFromPrivate = getPublicKeyFromPrivate;
43
+ const getPublicKeyPemHash = (publicKeyPem) => {
44
+ const publicKey = (0, crypto_1.createPublicKey)(publicKeyPem);
45
+ return (0, exports.getPublicKeyHash)(publicKey);
46
+ };
47
+ exports.getPublicKeyPemHash = getPublicKeyPemHash;
48
+ const getPublicKeyHash = (publicKey) => {
49
+ const der = publicKey.export({
50
+ type: 'spki',
51
+ format: 'der',
52
+ });
53
+ const hash = (0, crypto_1.createHash)('sha256');
54
+ hash.update(der);
55
+ return hash.digest();
56
+ };
57
+ exports.getPublicKeyHash = getPublicKeyHash;
58
+ const generateEcKeyPair = () => {
59
+ const keys = (0, crypto_1.generateKeyPairSync)('ec', {
60
+ namedCurve: 'secp256k1',
61
+ publicKeyEncoding: {
62
+ type: 'spki',
63
+ format: 'pem',
64
+ },
65
+ privateKeyEncoding: {
66
+ type: 'pkcs8',
67
+ format: 'pem',
68
+ },
69
+ });
70
+ return {
71
+ publicKeyPem: keys.publicKey,
72
+ privateKeyPem: keys.privateKey,
73
+ };
74
+ };
75
+ exports.generateEcKeyPair = generateEcKeyPair;
76
+ const generateRsaKeyPair = () => {
77
+ const keys = (0, crypto_1.generateKeyPairSync)('rsa', {
78
+ modulusLength: 2048,
79
+ publicKeyEncoding: {
80
+ type: 'spki',
81
+ format: 'pem',
82
+ },
83
+ privateKeyEncoding: {
84
+ type: 'pkcs8',
85
+ format: 'pem',
86
+ },
87
+ });
88
+ return {
89
+ publicKeyPem: keys.publicKey,
90
+ privateKeyPem: keys.privateKey,
91
+ };
92
+ };
93
+ exports.generateRsaKeyPair = generateRsaKeyPair;
94
+ const getPublicKeyFromCsr = (csrPem) => {
95
+ const csr = new x509_1.Pkcs10CertificateRequest(csrPem);
96
+ return (0, crypto_1.createPublicKey)({
97
+ key: csr.publicKey.rawData,
98
+ format: 'der',
99
+ type: 'spki',
100
+ }).export({
101
+ format: 'pem',
102
+ type: 'spki',
103
+ });
104
+ };
105
+ exports.getPublicKeyFromCsr = getPublicKeyFromCsr;
106
+ const splitCerts = (certsPem) => {
107
+ const certRegex = /-----BEGIN CERTIFICATE-----(?:\s|.)*?-----END CERTIFICATE-----/g;
108
+ const matches = certsPem.match(certRegex);
109
+ return Array.from(matches || []);
110
+ };
111
+ exports.splitCerts = splitCerts;
112
+ const extractCommonNameFromSubject = (subject) => {
113
+ return subject.match(/CN=([^,\n]+)/)?.[1]?.trim();
114
+ };
115
+ exports.extractCommonNameFromSubject = extractCommonNameFromSubject;
116
+ const extractIntermediateCertificates = (certificates) => {
117
+ let restCerts;
118
+ let certificate;
119
+ if (typeof certificates === 'string') {
120
+ const splittedCerts = (0, exports.splitCerts)(certificates);
121
+ const [cert, ...rest] = splittedCerts;
122
+ restCerts = rest;
123
+ certificate = cert;
124
+ }
125
+ else {
126
+ certificate = certificates.certPem;
127
+ restCerts = (0, exports.splitCerts)(certificates.caBundle);
128
+ }
129
+ const ca = restCerts.pop();
130
+ return {
131
+ cert: certificate + '\n',
132
+ intermediateCertificates: restCerts.join('\n') + '\n',
133
+ ca: ca + '\n',
134
+ };
135
+ };
136
+ exports.extractIntermediateCertificates = extractIntermediateCertificates;
137
+ const hasChallengeNvidiaToken = (challenge) => {
138
+ return ([
139
+ types_1.ChallengeType.SEVSNP,
140
+ types_1.ChallengeType.SEVSNPAZURE,
141
+ types_1.ChallengeType.TDX,
142
+ types_1.ChallengeType.TDXGOOGLE,
143
+ types_1.ChallengeType.TDXAZURE,
144
+ types_1.ChallengeType.Untrusted,
145
+ ].includes(challenge.type) &&
146
+ Boolean(challenge.nvidiaTokens));
147
+ };
148
+ exports.hasChallengeNvidiaToken = hasChallengeNvidiaToken;
149
+ const hasChallengeNvidiaEvidence = (challenge) => {
150
+ return ([
151
+ types_1.ChallengeType.SEVSNP,
152
+ types_1.ChallengeType.SEVSNPAZURE,
153
+ types_1.ChallengeType.TDX,
154
+ types_1.ChallengeType.TDXGOOGLE,
155
+ types_1.ChallengeType.TDXAZURE,
156
+ ].includes(challenge.type) &&
157
+ Boolean(challenge.nvidiaEvidence));
158
+ };
159
+ exports.hasChallengeNvidiaEvidence = hasChallengeNvidiaEvidence;
160
+ const isFileExisted = (filePath) => fs_1.promises
161
+ .access(filePath, fs_1.constants.F_OK)
162
+ .then(() => true)
163
+ .catch(() => false);
164
+ exports.isFileExisted = isFileExisted;
165
+ /**
166
+ * Wrapper around sortCertsFromLeafToRoot that handles the single self-signed cert case.
167
+ * sortCertsFromLeafToRoot returns [] for a single self-signed cert (leaf detection bug),
168
+ * so we skip sorting entirely when there is only one certificate.
169
+ */
170
+ const sortCertsFromLeafToRootWrapper = (certsPem, sortFn) => {
171
+ const certs = (0, exports.splitCerts)(certsPem);
172
+ if (certs.length <= 1) {
173
+ return certs;
174
+ }
175
+ return sortFn(certsPem);
176
+ };
177
+ exports.sortCertsFromLeafToRootWrapper = sortCertsFromLeafToRootWrapper;
178
+ const compareKeys = (keyPemOne, keyPemTwo) => {
179
+ const privateJwk = (0, crypto_1.createPublicKey)(keyPemOne).export({ format: 'jwk' });
180
+ const publicJwk = (0, crypto_1.createPublicKey)(keyPemTwo).export({ format: 'jwk' });
181
+ if (publicJwk.kty !== privateJwk.kty) {
182
+ return false;
183
+ }
184
+ if (publicJwk.kty === 'RSA') {
185
+ return !!(publicJwk.n && privateJwk.n && publicJwk.n === privateJwk.n);
186
+ }
187
+ if (publicJwk.kty === 'EC') {
188
+ return !!(publicJwk.x &&
189
+ privateJwk.x &&
190
+ publicJwk.x === privateJwk.x &&
191
+ publicJwk.y &&
192
+ privateJwk.y &&
193
+ publicJwk.y === privateJwk.y);
194
+ }
195
+ return false;
196
+ };
197
+ exports.compareKeys = compareKeys;
198
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbUNBT2lCO0FBQ2pCLG1DQUtnQjtBQUVoQixrREFBb0M7QUFDcEMsMkJBQXlDO0FBQ3pDLHlDQUEwRDtBQUVuRCxNQUFNLG9CQUFvQixHQUFHLENBQUMsUUFBZ0IsRUFBRSxFQUFFLENBQ3JELE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO0FBRGhFLFFBQUEsb0JBQW9CLHdCQUM0QztBQUV0RSxNQUFNLGNBQWMsR0FBRyxDQUMxQixVQUFrQixFQUNsQixhQUE0QixFQUM1QixRQUFnQixFQUNsQixFQUFFLENBQUMsR0FBRyxJQUFBLDRCQUFvQixFQUFDLFFBQVEsQ0FBQyxJQUFJLGFBQWEsSUFBSSxVQUFVLEVBQUUsQ0FBQztBQUozRCxRQUFBLGNBQWMsa0JBSTZDO0FBRWpFLE1BQU0sdUJBQXVCLEdBQUcsQ0FBQyxhQUFxQixFQUFVLEVBQUU7SUFDckUsT0FBTyxJQUFBLHdCQUFlLEVBQUMsYUFBYSxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ3pDLElBQUksRUFBRSxNQUFNO1FBQ1osTUFBTSxFQUFFLEtBQUs7S0FDaEIsQ0FBVyxDQUFDO0FBQ2pCLENBQUMsQ0FBQztBQUxXLFFBQUEsdUJBQXVCLDJCQUtsQztBQUVLLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxZQUFvQixFQUFFLEVBQUU7SUFDeEQsTUFBTSxTQUFTLEdBQUcsSUFBQSx3QkFBZSxFQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2hELE9BQU8sSUFBQSx3QkFBZ0IsRUFBQyxTQUFTLENBQUMsQ0FBQztBQUN2QyxDQUFDLENBQUM7QUFIVyxR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
@@ -0,0 +1,8 @@
1
+ export * from './types';
2
+ export * from './helpers';
3
+ export * from './constants';
4
+ export * from './singleFlight';
5
+ export * from './pinoLog';
6
+ export * from './commonBaseLog';
7
+ export * from './mockLog';
8
+ export * from './schemas';
package/dist/index.js ADDED
@@ -0,0 +1,25 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./types"), exports);
18
+ __exportStar(require("./helpers"), exports);
19
+ __exportStar(require("./constants"), exports);
20
+ __exportStar(require("./singleFlight"), exports);
21
+ __exportStar(require("./pinoLog"), exports);
22
+ __exportStar(require("./commonBaseLog"), exports);
23
+ __exportStar(require("./mockLog"), exports);
24
+ __exportStar(require("./schemas"), exports);
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDBDQUF3QjtBQUN4Qiw0Q0FBMEI7QUFDMUIsOENBQTRCO0FBQzVCLGlEQUErQjtBQUMvQiw0Q0FBMEI7QUFDMUIsa0RBQWdDO0FBQ2hDLDRDQUEwQjtBQUMxQiw0Q0FBMEIifQ==
@@ -0,0 +1,5 @@
1
+ import { LogContext, LogLevel } from './types';
2
+ import { CommonBaseLog } from './commonBaseLog';
3
+ export declare class CommonMockLog extends CommonBaseLog {
4
+ log(level: LogLevel, msg: string, context?: LogContext): void;
5
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CommonMockLog = void 0;
4
+ const commonBaseLog_1 = require("./commonBaseLog");
5
+ class CommonMockLog extends commonBaseLog_1.CommonBaseLog {
6
+ log(level, msg, context) {
7
+ void level;
8
+ void msg;
9
+ void context;
10
+ return;
11
+ }
12
+ }
13
+ exports.CommonMockLog = CommonMockLog;
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja0xvZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9tb2NrTG9nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLG1EQUFnRDtBQUVoRCxNQUFhLGFBQWMsU0FBUSw2QkFBYTtJQUM1QyxHQUFHLENBQUMsS0FBZSxFQUFFLEdBQVcsRUFBRSxPQUFvQjtRQUNsRCxLQUFLLEtBQUssQ0FBQztRQUNYLEtBQUssR0FBRyxDQUFDO1FBQ1QsS0FBSyxPQUFPLENBQUM7UUFDYixPQUFPO0lBQ1gsQ0FBQztDQUNKO0FBUEQsc0NBT0MifQ==
@@ -0,0 +1,14 @@
1
+ import { Log, LogContext, LogLevel } from './types';
2
+ export declare class CommonPinoLog implements Log {
3
+ private logger;
4
+ baseContext: Record<string, any>;
5
+ constructor(logLevel: LogLevel);
6
+ log(level: LogLevel, msg: string, context?: LogContext): void;
7
+ fatal(msg: string, context?: LogContext): void;
8
+ error(msg: string, context?: LogContext): void;
9
+ warn(msg: string, context?: LogContext): void;
10
+ info(msg: string, context?: LogContext): void;
11
+ debug(msg: string, context?: LogContext): void;
12
+ trace(msg: string, context?: LogContext): void;
13
+ child(context: Record<string, any>): Log;
14
+ }
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.CommonPinoLog = void 0;
7
+ const types_1 = require("./types");
8
+ const pino_1 = __importDefault(require("pino"));
9
+ class CommonPinoLog {
10
+ logger;
11
+ baseContext = {};
12
+ constructor(logLevel) {
13
+ this.logger = (0, pino_1.default)();
14
+ this.logger.level = logLevel;
15
+ }
16
+ log(level, msg, context) {
17
+ const mergedContext = {
18
+ ...this.baseContext,
19
+ ...context,
20
+ };
21
+ switch (level) {
22
+ case types_1.LogLevel.Debug:
23
+ this.logger.child(mergedContext).debug(msg);
24
+ break;
25
+ case types_1.LogLevel.Info:
26
+ this.logger.child(mergedContext).info(msg);
27
+ break;
28
+ case types_1.LogLevel.Trace:
29
+ this.logger.child(mergedContext).trace(msg);
30
+ break;
31
+ case types_1.LogLevel.Warn:
32
+ this.logger.child(mergedContext).warn(msg);
33
+ break;
34
+ case types_1.LogLevel.Error:
35
+ this.logger.child(mergedContext).error(msg);
36
+ break;
37
+ case types_1.LogLevel.Fatal:
38
+ this.logger.child(mergedContext).fatal(msg);
39
+ break;
40
+ }
41
+ }
42
+ fatal(msg, context) {
43
+ this.log(types_1.LogLevel.Fatal, msg, context);
44
+ }
45
+ error(msg, context) {
46
+ this.log(types_1.LogLevel.Error, msg, context);
47
+ }
48
+ warn(msg, context) {
49
+ this.log(types_1.LogLevel.Warn, msg, context);
50
+ }
51
+ info(msg, context) {
52
+ this.log(types_1.LogLevel.Info, msg, context);
53
+ }
54
+ debug(msg, context) {
55
+ this.log(types_1.LogLevel.Debug, msg, context);
56
+ }
57
+ trace(msg, context) {
58
+ this.log(types_1.LogLevel.Trace, msg, context);
59
+ }
60
+ child(context) {
61
+ const child = new CommonPinoLog(this.logger.level);
62
+ child.baseContext = { ...this.baseContext, ...context };
63
+ return child;
64
+ }
65
+ }
66
+ exports.CommonPinoLog = CommonPinoLog;
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlub0xvZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9waW5vTG9nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG1DQUFvRDtBQUNwRCxnREFBd0I7QUFFeEIsTUFBYSxhQUFhO0lBQ2QsTUFBTSxDQUFjO0lBQzVCLFdBQVcsR0FBd0IsRUFBRSxDQUFDO0lBRXRDLFlBQVksUUFBa0I7UUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFBLGNBQUksR0FBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQztJQUNqQyxDQUFDO0lBRUQsR0FBRyxDQUFDLEtBQWUsRUFBRSxHQUFXLEVBQUUsT0FBb0I7UUFDbEQsTUFBTSxhQUFhLEdBQUc7WUFDbEIsR0FBRyxJQUFJLENBQUMsV0FBVztZQUNuQixHQUFHLE9BQU87U0FDYixDQUFDO1FBRUYsUUFBUSxLQUFLLEVBQUUsQ0FBQztZQUNaLEtBQUssZ0JBQVEsQ0FBQyxLQUFLO2dCQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLGFBQW9CLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ25ELE1BQU07WUFDVixLQUFLLGdCQUFRLENBQUMsSUFBSTtnQkFDZCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxhQUFvQixDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNsRCxNQUFNO1lBQ1YsS0FBSyxnQkFBUSxDQUFDLEtBQUs7Z0JBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsYUFBb0IsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDbkQsTUFBTTtZQUNWLEtBQUssZ0JBQVEsQ0FBQyxJQUFJO2dCQUNkLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLGFBQW9CLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ2xELE1BQU07WUFDVixLQUFLLGdCQUFRLENBQUMsS0FBSztnQkFDZixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxhQUFvQixDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNuRCxNQUFNO1lBQ1YsS0FBSyxnQkFBUSxDQUFDLEtBQUs7Z0JBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsYUFBb0IsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDbkQsTUFBTTtRQUNkLENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSyxDQUFDLEdBQVcsRUFBRSxPQUFvQjtRQUNuQyxJQUFJLENBQUMsR0FBRyxDQUFDLGdCQUFRLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsS0FBSyxDQUFDLEdBQVcsRUFBRSxPQUFvQjtRQUNuQyxJQUFJLENBQUMsR0FBRyxDQUFDLGdCQUFRLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsSUFBSSxDQUFDLEdBQVcsRUFBRSxPQUFvQjtRQUNsQyxJQUFJLENBQUMsR0FBRyxDQUFDLGdCQUFRLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsSUFBSSxDQUFDLEdBQVcsRUFBRSxPQUFvQjtRQUNsQyxJQUFJLENBQUMsR0FBRyxDQUFDLGdCQUFRLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsS0FBSyxDQUFDLEdBQVcsRUFBRSxPQUFvQjtRQUNuQyxJQUFJLENBQUMsR0FBRyxDQUFDLGdCQUFRLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsS0FBSyxDQUFDLEdBQVcsRUFBRSxPQUFvQjtRQUNuQyxJQUFJLENBQUMsR0FBRyxDQUFDLGdCQUFRLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQTRCO1FBQzlCLE1BQU0sS0FBSyxHQUFHLElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBaUIsQ0FBQyxDQUFDO1FBQy9ELEtBQUssQ0FBQyxXQUFXLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsR0FBRyxPQUFPLEVBQUUsQ0FBQztRQUN4RCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0NBQ0o7QUFsRUQsc0NBa0VDIn0=
@@ -0,0 +1,13 @@
1
+ export declare const CertificateTypeSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"basic">, import("@sinclair/typebox").TLiteral<"lite">]>;
2
+ export declare const NetworkTypeSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"trusted">, import("@sinclair/typebox").TLiteral<"untrusted">]>;
3
+ export declare const PkiCertParamsSchema: import("@sinclair/typebox").TObject<{
4
+ lifetimeDays: import("@sinclair/typebox").TNumber;
5
+ commonName: import("@sinclair/typebox").TString;
6
+ countryName: import("@sinclair/typebox").TString;
7
+ stateName: import("@sinclair/typebox").TString;
8
+ localityName: import("@sinclair/typebox").TString;
9
+ organizationName: import("@sinclair/typebox").TString;
10
+ organizationUnitName: import("@sinclair/typebox").TString;
11
+ alternativeDnsName: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
12
+ ocspUrl: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
13
+ }>;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PkiCertParamsSchema = exports.NetworkTypeSchema = exports.CertificateTypeSchema = void 0;
4
+ const typebox_1 = require("@sinclair/typebox");
5
+ exports.CertificateTypeSchema = typebox_1.Type.Union([
6
+ typebox_1.Type.Literal('basic'),
7
+ typebox_1.Type.Literal('lite'),
8
+ ]);
9
+ exports.NetworkTypeSchema = typebox_1.Type.Union([
10
+ typebox_1.Type.Literal('trusted'),
11
+ typebox_1.Type.Literal('untrusted'),
12
+ ]);
13
+ exports.PkiCertParamsSchema = typebox_1.Type.Object({
14
+ lifetimeDays: typebox_1.Type.Number({ minimum: 1, maximum: 18250 }),
15
+ commonName: typebox_1.Type.String(),
16
+ countryName: typebox_1.Type.String(),
17
+ stateName: typebox_1.Type.String(),
18
+ localityName: typebox_1.Type.String(),
19
+ organizationName: typebox_1.Type.String(),
20
+ organizationUnitName: typebox_1.Type.String(),
21
+ alternativeDnsName: typebox_1.Type.Optional(typebox_1.Type.String()),
22
+ ocspUrl: typebox_1.Type.Optional(typebox_1.Type.String()),
23
+ });
24
+ const _assertNetworkType = true;
25
+ const _assertPkiCertParams = true;
26
+ const _assertCertificateType = true;
27
+ void _assertNetworkType;
28
+ void _assertPkiCertParams;
29
+ void _assertCertificateType;
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9zY2hlbWFzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtDQUFzRDtBQUd6QyxRQUFBLHFCQUFxQixHQUFHLGNBQUksQ0FBQyxLQUFLLENBQUM7SUFDNUMsY0FBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7SUFDckIsY0FBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7Q0FDdkIsQ0FBQyxDQUFDO0FBRVUsUUFBQSxpQkFBaUIsR0FBRyxjQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3hDLGNBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO0lBQ3ZCLGNBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDO0NBQzVCLENBQUMsQ0FBQztBQUVVLFFBQUEsbUJBQW1CLEdBQUcsY0FBSSxDQUFDLE1BQU0sQ0FBQztJQUMzQyxZQUFZLEVBQUUsY0FBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQ3pELFVBQVUsRUFBRSxjQUFJLENBQUMsTUFBTSxFQUFFO0lBQ3pCLFdBQVcsRUFBRSxjQUFJLENBQUMsTUFBTSxFQUFFO0lBQzFCLFNBQVMsRUFBRSxjQUFJLENBQUMsTUFBTSxFQUFFO0lBQ3hCLFlBQVksRUFBRSxjQUFJLENBQUMsTUFBTSxFQUFFO0lBQzNCLGdCQUFnQixFQUFFLGNBQUksQ0FBQyxNQUFNLEVBQUU7SUFDL0Isb0JBQW9CLEVBQUUsY0FBSSxDQUFDLE1BQU0sRUFBRTtJQUNuQyxrQkFBa0IsRUFBRSxjQUFJLENBQUMsUUFBUSxDQUFDLGNBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNoRCxPQUFPLEVBQUUsY0FBSSxDQUFDLFFBQVEsQ0FBQyxjQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7Q0FDeEMsQ0FBQyxDQUFDO0FBU0gsTUFBTSxrQkFBa0IsR0FHcEIsSUFBSSxDQUFDO0FBQ1QsTUFBTSxvQkFBb0IsR0FHdEIsSUFBSSxDQUFDO0FBQ1QsTUFBTSxzQkFBc0IsR0FHeEIsSUFBSSxDQUFDO0FBQ1QsS0FBSyxrQkFBa0IsQ0FBQztBQUN4QixLQUFLLG9CQUFvQixDQUFDO0FBQzFCLEtBQUssc0JBQXNCLENBQUMifQ==
@@ -0,0 +1,2 @@
1
+ export type singleFlightAsyncFn = <T>(asyncMethod: () => Promise<T>, key?: unknown) => Promise<T>;
2
+ export declare const singleFlight: () => singleFlightAsyncFn;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.singleFlight = void 0;
4
+ const singleFlight = () => {
5
+ const states = new Map();
6
+ return (asyncMethod, key = '') => {
7
+ if (states.has(key)) {
8
+ return states.get(key);
9
+ }
10
+ const deferObject = new Promise((resolve, reject) => {
11
+ asyncMethod()
12
+ .then(resolve, reject)
13
+ .finally(() => states.delete(key));
14
+ });
15
+ states.set(key, deferObject);
16
+ return deferObject;
17
+ };
18
+ };
19
+ exports.singleFlight = singleFlight;
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xlRmxpZ2h0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3NpbmdsZUZsaWdodC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFLTyxNQUFNLFlBQVksR0FBRyxHQUF3QixFQUFFO0lBQ2xELE1BQU0sTUFBTSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7SUFFekIsT0FBTyxDQUNILFdBQTZCLEVBQzdCLE1BQWUsRUFBRSxFQUNQLEVBQUU7UUFDWixJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNsQixPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0IsQ0FBQztRQUVELE1BQU0sV0FBVyxHQUFHLElBQUksT0FBTyxDQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ25ELFdBQVcsRUFBRTtpQkFDUixJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQztpQkFDckIsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMzQyxDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBRTdCLE9BQU8sV0FBVyxDQUFDO0lBQ3ZCLENBQUMsQ0FBQztBQUNOLENBQUMsQ0FBQztBQXJCVyxRQUFBLFlBQVksZ0JBcUJ2QiJ9
@@ -0,0 +1,174 @@
1
+ export type NetworkType = 'trusted' | 'untrusted';
2
+ export interface PkiCertParams {
3
+ lifetimeDays: number;
4
+ commonName: string;
5
+ countryName: string;
6
+ stateName: string;
7
+ localityName: string;
8
+ organizationName: string;
9
+ organizationUnitName: string;
10
+ alternativeDnsName?: string;
11
+ ocspUrl?: string;
12
+ }
13
+ export declare enum ChallengeType {
14
+ Untrusted = "untrusted",
15
+ TDX = "tdx",
16
+ TDXGOOGLE = "tdx-google",
17
+ TDXAZURE = "tdx-azure",
18
+ SEVSNP = "sev-snp",
19
+ SEVSNPAZURE = "sev-snp-azure",
20
+ Certificate = "certificate",
21
+ Token = "token"
22
+ }
23
+ export interface BaseChallenge {
24
+ networkID?: string;
25
+ }
26
+ export interface UntrustedChallenge extends BaseChallenge {
27
+ type: ChallengeType.Untrusted;
28
+ userDataBase64: string;
29
+ idBase64: string;
30
+ }
31
+ export interface NvidiaCCToken {
32
+ gpuToken: string;
33
+ gpuInterconnectStatus?: 0 | 1 | 2 | 3;
34
+ nvswitchToken?: string;
35
+ }
36
+ export interface NvidiaEvidence {
37
+ gpuEvidence: string;
38
+ nonce: string;
39
+ gpuInterconnectStatus?: 0 | 1 | 2 | 3;
40
+ nvswitchEvidence?: string;
41
+ }
42
+ export interface TDXChallenge extends BaseChallenge {
43
+ type: ChallengeType.TDX;
44
+ evidenceBase64: string;
45
+ nvidiaTokens?: NvidiaCCToken;
46
+ nvidiaEvidence?: NvidiaEvidence;
47
+ }
48
+ export interface TDXGoogleChallenge extends BaseChallenge {
49
+ type: ChallengeType.TDXGOOGLE;
50
+ evidenceBase64: string;
51
+ nvidiaTokens?: NvidiaCCToken;
52
+ nvidiaEvidence?: NvidiaEvidence;
53
+ }
54
+ export interface TDXAzureChallenge extends BaseChallenge {
55
+ type: ChallengeType.TDXAZURE;
56
+ evidenceBase64: string;
57
+ nvidiaTokens?: NvidiaCCToken;
58
+ nvidiaEvidence?: NvidiaEvidence;
59
+ }
60
+ export interface SNPChallenge extends BaseChallenge {
61
+ type: ChallengeType.SEVSNP;
62
+ evidenceBase64: string;
63
+ nvidiaTokens?: NvidiaCCToken;
64
+ nvidiaEvidence?: NvidiaEvidence;
65
+ }
66
+ export interface SNPAzureChallenge extends BaseChallenge {
67
+ type: ChallengeType.SEVSNPAZURE;
68
+ evidenceBase64: string;
69
+ nvidiaTokens?: NvidiaCCToken;
70
+ nvidiaEvidence?: NvidiaEvidence;
71
+ }
72
+ export interface CertificateChallenge extends BaseChallenge {
73
+ type: ChallengeType.Certificate;
74
+ userDataSignatureBase64: string;
75
+ orderCertificate: string;
76
+ orderCABundle: string;
77
+ }
78
+ export interface TokenChallenge extends BaseChallenge {
79
+ type: ChallengeType.Token;
80
+ userDataBase64: string;
81
+ token: string;
82
+ }
83
+ export type Challenge = UntrustedChallenge | TDXChallenge | TDXGoogleChallenge | TDXAzureChallenge | SNPChallenge | SNPAzureChallenge | CertificateChallenge | TokenChallenge;
84
+ export type ChallengeWithNvidiaToken = TDXChallenge | TDXGoogleChallenge | TDXAzureChallenge | SNPChallenge | SNPAzureChallenge;
85
+ export interface NvidiaVerification {
86
+ gpuToken: string;
87
+ nvswitchToken?: string;
88
+ gpuInterconnectStatus?: 0 | 1 | 2 | 3;
89
+ attestationMode: 0 | 1 | 2;
90
+ }
91
+ export interface CertificateChallengeInfo {
92
+ challenge: Challenge;
93
+ idHex: string;
94
+ commonIdHex?: string;
95
+ nvidiaVerification?: NvidiaVerification;
96
+ }
97
+ export interface PkiUntrustedStaticKeyStorage {
98
+ type: 'untrusted-static';
99
+ basicPrivateKeyPem: string;
100
+ litePrivateKeyPem: string;
101
+ }
102
+ export interface PkiInMemoryKeyStorage {
103
+ type: 'in-memory';
104
+ }
105
+ export interface PkiSuperDecentralizedSecretKeyStorage {
106
+ type: 'super';
107
+ keysPath?: string;
108
+ }
109
+ export interface PkiTrustedKeyStorage {
110
+ type: 'trusted';
111
+ storage: PkiInMemoryKeyStorage | PkiSuperDecentralizedSecretKeyStorage;
112
+ }
113
+ export declare enum PkiRole {
114
+ swarm = "swarm"
115
+ }
116
+ export interface KeyPairPem {
117
+ publicKeyPem: string;
118
+ privateKeyPem: string;
119
+ }
120
+ export interface TeeSslCertificate {
121
+ certPem: string;
122
+ caBundle: string;
123
+ domains: string[];
124
+ keyPair: KeyPairPem;
125
+ }
126
+ export type TeeSslCertificateFromCsr = Omit<TeeSslCertificate, 'keyPair'>;
127
+ export declare enum SignatureVerification {
128
+ GitHub = "github"
129
+ }
130
+ export interface ValidateParamRules {
131
+ type: ChallengeType;
132
+ idHex?: string;
133
+ commonIdHex?: string;
134
+ solutionHashHex?: string;
135
+ signatureVerification?: SignatureVerification;
136
+ }
137
+ export type AllowedOcspSignerChallenge = ValidateParamRules;
138
+ export interface PKISslCertificate {
139
+ certPem: string;
140
+ rootCertsPem: string;
141
+ domains: string[];
142
+ }
143
+ export interface PKISslCertificateWithKey extends PKISslCertificate {
144
+ privateKeyPem: string;
145
+ }
146
+ export declare enum CertificateType {
147
+ Basic = "basic",
148
+ Lite = "lite"
149
+ }
150
+ export interface IntermediateCertificates {
151
+ cert: string;
152
+ intermediateCertificates: string;
153
+ ca: string;
154
+ }
155
+ export type LogContext = Record<string, any>;
156
+ export declare enum LogLevel {
157
+ Fatal = "fatal",
158
+ Error = "error",
159
+ Warn = "warn",
160
+ Info = "info",
161
+ Debug = "debug",
162
+ Trace = "trace"
163
+ }
164
+ export interface Log {
165
+ log(level: LogLevel, msg: string, context?: LogContext): void;
166
+ fatal(msg: string, context?: LogContext): void;
167
+ error(msg: string, context?: LogContext): void;
168
+ warn(msg: string, context?: LogContext): void;
169
+ info(msg: string, context?: LogContext): void;
170
+ debug(msg: string, context?: LogContext): void;
171
+ trace(msg: string, context?: LogContext): void;
172
+ baseContext: Record<string, any>;
173
+ child(context: Record<string, any>): Log;
174
+ }
package/dist/types.js ADDED
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LogLevel = exports.CertificateType = exports.SignatureVerification = exports.PkiRole = exports.ChallengeType = void 0;
4
+ var ChallengeType;
5
+ (function (ChallengeType) {
6
+ ChallengeType["Untrusted"] = "untrusted";
7
+ ChallengeType["TDX"] = "tdx";
8
+ ChallengeType["TDXGOOGLE"] = "tdx-google";
9
+ ChallengeType["TDXAZURE"] = "tdx-azure";
10
+ ChallengeType["SEVSNP"] = "sev-snp";
11
+ ChallengeType["SEVSNPAZURE"] = "sev-snp-azure";
12
+ ChallengeType["Certificate"] = "certificate";
13
+ ChallengeType["Token"] = "token";
14
+ })(ChallengeType || (exports.ChallengeType = ChallengeType = {}));
15
+ var PkiRole;
16
+ (function (PkiRole) {
17
+ PkiRole["swarm"] = "swarm";
18
+ })(PkiRole || (exports.PkiRole = PkiRole = {}));
19
+ var SignatureVerification;
20
+ (function (SignatureVerification) {
21
+ SignatureVerification["GitHub"] = "github";
22
+ })(SignatureVerification || (exports.SignatureVerification = SignatureVerification = {}));
23
+ var CertificateType;
24
+ (function (CertificateType) {
25
+ CertificateType["Basic"] = "basic";
26
+ CertificateType["Lite"] = "lite";
27
+ })(CertificateType || (exports.CertificateType = CertificateType = {}));
28
+ var LogLevel;
29
+ (function (LogLevel) {
30
+ LogLevel["Fatal"] = "fatal";
31
+ LogLevel["Error"] = "error";
32
+ LogLevel["Warn"] = "warn";
33
+ LogLevel["Info"] = "info";
34
+ LogLevel["Debug"] = "debug";
35
+ LogLevel["Trace"] = "trace";
36
+ })(LogLevel || (exports.LogLevel = LogLevel = {}));
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBY0EsSUFBWSxhQVNYO0FBVEQsV0FBWSxhQUFhO0lBQ3JCLHdDQUF1QixDQUFBO0lBQ3ZCLDRCQUFXLENBQUE7SUFDWCx5Q0FBd0IsQ0FBQTtJQUN4Qix1Q0FBc0IsQ0FBQTtJQUN0QixtQ0FBa0IsQ0FBQTtJQUNsQiw4Q0FBNkIsQ0FBQTtJQUM3Qiw0Q0FBMkIsQ0FBQTtJQUMzQixnQ0FBZSxDQUFBO0FBQ25CLENBQUMsRUFUVyxhQUFhLDZCQUFiLGFBQWEsUUFTeEI7QUE0SEQsSUFBWSxPQUVYO0FBRkQsV0FBWSxPQUFPO0lBQ2YsMEJBQWUsQ0FBQTtBQUNuQixDQUFDLEVBRlcsT0FBTyx1QkFBUCxPQUFPLFFBRWxCO0FBZ0JELElBQVkscUJBRVg7QUFGRCxXQUFZLHFCQUFxQjtJQUM3QiwwQ0FBaUIsQ0FBQTtBQUNyQixDQUFDLEVBRlcscUJBQXFCLHFDQUFyQixxQkFBcUIsUUFFaEM7QUFzQkQsSUFBWSxlQUdYO0FBSEQsV0FBWSxlQUFlO0lBQ3ZCLGtDQUFlLENBQUE7SUFDZixnQ0FBYSxDQUFBO0FBQ2pCLENBQUMsRUFIVyxlQUFlLCtCQUFmLGVBQWUsUUFHMUI7QUFVRCxJQUFZLFFBT1g7QUFQRCxXQUFZLFFBQVE7SUFDaEIsMkJBQWUsQ0FBQTtJQUNmLDJCQUFlLENBQUE7SUFDZix5QkFBYSxDQUFBO0lBQ2IseUJBQWEsQ0FBQTtJQUNiLDJCQUFlLENBQUE7SUFDZiwyQkFBZSxDQUFBO0FBQ25CLENBQUMsRUFQVyxRQUFRLHdCQUFSLFFBQVEsUUFPbkIifQ==
package/package.json ADDED
@@ -0,0 +1,27 @@
1
+ {
2
+ "name": "@super-protocol/pki-common",
3
+ "version": "0.0.0-nvidia-local-verifier",
4
+ "description": "",
5
+ "main": "dist/index.js",
6
+ "module": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "files": [
9
+ "dist"
10
+ ],
11
+ "directories": {
12
+ "lib": "dist"
13
+ },
14
+ "scripts": {
15
+ "build": "tsc -b",
16
+ "lint": "eslint --max-warnings=0 src",
17
+ "lint:fix": "eslint --fix src"
18
+ },
19
+ "author": "Super Protocol",
20
+ "license": "ISC",
21
+ "dependencies": {
22
+ "@peculiar/x509": "^1.13.0",
23
+ "@sinclair/typebox": "0.33.22",
24
+ "hi-base32": "^0.5.1",
25
+ "pino": "^9.4.0"
26
+ }
27
+ }