@super-protocol/pki-attestation-engine 5.1.0-beta2 → 5.1.0-beta3
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.
|
@@ -68,6 +68,20 @@ const isAzureConfidentialVm = async () => {
|
|
|
68
68
|
}
|
|
69
69
|
};
|
|
70
70
|
exports.isAzureConfidentialVm = isAzureConfidentialVm;
|
|
71
|
-
const isAzureTdxVm = async () =>
|
|
71
|
+
const isAzureTdxVm = async () => {
|
|
72
|
+
if (!(await (0, exports.isAzureConfidentialVm)())) {
|
|
73
|
+
return false;
|
|
74
|
+
}
|
|
75
|
+
try {
|
|
76
|
+
if ((0, fs_1.existsSync)(SEV_DEVICE_PATH) &&
|
|
77
|
+
(0, fs_1.statSync)(SEV_DEVICE_PATH).isCharacterDevice()) {
|
|
78
|
+
return false;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
catch {
|
|
82
|
+
// ignore
|
|
83
|
+
}
|
|
84
|
+
return true;
|
|
85
|
+
};
|
|
72
86
|
exports.isAzureTdxVm = isAzureTdxVm;
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0ZWN0QXp1cmVUZHguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXp1cmUvZGV0ZWN0QXp1cmVUZHgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkJBQXdEO0FBRXhELE1BQU0sc0JBQXNCLEdBQ3hCLHlFQUF5RSxDQUFDO0FBQzlFLE1BQU0sZUFBZSxHQUFHLEdBQUcsQ0FBQztBQUM1QixNQUFNLGVBQWUsR0FBRyxnQkFBZ0IsQ0FBQztBQUV6QyxNQUFNLGlCQUFpQixHQUFHLEdBQWdCLEVBQUU7SUFDeEMsSUFBSSxDQUFDO1FBQ0QsTUFBTSxJQUFJLEdBQUcsSUFBQSxpQkFBWSxFQUFDLGVBQWUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNuRCxNQUFNLE1BQU0sR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFDO1FBQ2pDLEtBQUssTUFBTSxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ2xDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNyQyxJQUFJLEdBQUcsRUFBRSxJQUFJLEVBQUUsS0FBSyxPQUFPLElBQUksR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLFVBQVUsRUFBRSxDQUFDO2dCQUN4RCxLQUFLLE1BQU0sS0FBSyxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUM3QyxJQUFJLEtBQUssRUFBRSxDQUFDO3dCQUNSLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQ3RCLENBQUM7Z0JBQ0wsQ0FBQztZQUNMLENBQUM7UUFDTCxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztJQUFDLE1BQU0sQ0FBQztRQUNMLE9BQU8sSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUNy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
|
|
@@ -10,7 +10,8 @@ const encodeTdxAzureEvidence = (token) => Buffer.from(JSON.stringify({
|
|
|
10
10
|
exports.encodeTdxAzureEvidence = encodeTdxAzureEvidence;
|
|
11
11
|
const parseTdxAzureEvidence = (evidence) => {
|
|
12
12
|
const parsed = JSON.parse(evidence.toString('utf8'));
|
|
13
|
-
if (parsed.format !== exports.TDX_AZURE_EVIDENCE_FORMAT ||
|
|
13
|
+
if (parsed.format !== exports.TDX_AZURE_EVIDENCE_FORMAT ||
|
|
14
|
+
typeof parsed.token !== 'string') {
|
|
14
15
|
throw new Error('Invalid tdx-azure evidence format');
|
|
15
16
|
}
|
|
16
17
|
return parsed;
|
|
@@ -29,9 +30,7 @@ const hexToBuffer = (hex, expectedBytes) => {
|
|
|
29
30
|
};
|
|
30
31
|
const decodeJwtPart = (part) => JSON.parse(Buffer.from(part, 'base64url').toString('utf8'));
|
|
31
32
|
/** vTPM SHA-256 PCRs mixed into Azure TDX mrEnclave. PCR[6] is omitted: Azure logs vmUniqueId there. */
|
|
32
|
-
exports.AZURE_TDX_MR_ENCLAVE_PCR_INDEXES = [
|
|
33
|
-
0, 1, 2, 3, 4, 5, 7,
|
|
34
|
-
];
|
|
33
|
+
exports.AZURE_TDX_MR_ENCLAVE_PCR_INDEXES = [0, 1, 2, 3, 4, 5, 7];
|
|
35
34
|
const computeAzureTdxMrEnclave = (tdAttributesHex, mrtdHex, pcrSha256Hex) => {
|
|
36
35
|
const lastIndex = exports.AZURE_TDX_MR_ENCLAVE_PCR_INDEXES[exports.AZURE_TDX_MR_ENCLAVE_PCR_INDEXES.length - 1];
|
|
37
36
|
if (pcrSha256Hex.length <= lastIndex) {
|
|
@@ -45,19 +44,93 @@ const computeAzureTdxMrEnclave = (tdAttributesHex, mrtdHex, pcrSha256Hex) => {
|
|
|
45
44
|
return (0, crypto_1.createHash)('sha256').update(Buffer.concat(parts)).digest();
|
|
46
45
|
};
|
|
47
46
|
exports.computeAzureTdxMrEnclave = computeAzureTdxMrEnclave;
|
|
47
|
+
const pcrValueToHex = (value) => {
|
|
48
|
+
const trimmed = value.trim();
|
|
49
|
+
if (/^[0-9a-f]{64}$/i.test(trimmed)) {
|
|
50
|
+
return trimmed.toLowerCase();
|
|
51
|
+
}
|
|
52
|
+
const decoded = Buffer.from(trimmed, 'base64');
|
|
53
|
+
if (decoded.length === 32) {
|
|
54
|
+
return decoded.toString('hex');
|
|
55
|
+
}
|
|
56
|
+
throw new Error('MAA PCR value is neither SHA-256 hex nor 32-byte base64');
|
|
57
|
+
};
|
|
48
58
|
const extractPcrSha256Hex = (claims) => {
|
|
49
59
|
const values = claims['x-ms-azurevm-attested-pcr-values'];
|
|
50
|
-
if (Array.isArray(values) &&
|
|
51
|
-
|
|
60
|
+
if (Array.isArray(values) &&
|
|
61
|
+
values.every((item) => typeof item === 'string')) {
|
|
62
|
+
return values.map(pcrValueToHex);
|
|
52
63
|
}
|
|
53
64
|
if (values && typeof values === 'object') {
|
|
54
|
-
const
|
|
55
|
-
|
|
56
|
-
|
|
65
|
+
const rec = values;
|
|
66
|
+
const sha256 = rec.sha256;
|
|
67
|
+
if (Array.isArray(sha256) &&
|
|
68
|
+
sha256.every((item) => typeof item === 'string')) {
|
|
69
|
+
return sha256.map(pcrValueToHex);
|
|
70
|
+
}
|
|
71
|
+
const out = [];
|
|
72
|
+
for (let index = 0; index < 24; index += 1) {
|
|
73
|
+
const item = rec[`pcr${index}`];
|
|
74
|
+
if (typeof item !== 'string') {
|
|
75
|
+
break;
|
|
76
|
+
}
|
|
77
|
+
out[index] = pcrValueToHex(item);
|
|
78
|
+
}
|
|
79
|
+
if (out.length >
|
|
80
|
+
exports.AZURE_TDX_MR_ENCLAVE_PCR_INDEXES[exports.AZURE_TDX_MR_ENCLAVE_PCR_INDEXES.length - 1]) {
|
|
81
|
+
return out;
|
|
57
82
|
}
|
|
58
83
|
}
|
|
59
84
|
throw new Error('MAA token is missing SHA-256 PCR values');
|
|
60
85
|
};
|
|
86
|
+
const decodeClaimBytes = (value) => {
|
|
87
|
+
const trimmed = value.trim();
|
|
88
|
+
if (/^[0-9a-f]+$/i.test(trimmed) && trimmed.length % 2 === 0) {
|
|
89
|
+
return Buffer.from(trimmed, 'hex');
|
|
90
|
+
}
|
|
91
|
+
return Buffer.from(trimmed, 'base64');
|
|
92
|
+
};
|
|
93
|
+
const toUserData64 = (value) => {
|
|
94
|
+
if (value.length < 32) {
|
|
95
|
+
return undefined;
|
|
96
|
+
}
|
|
97
|
+
if (value.length >= 64) {
|
|
98
|
+
return value.subarray(0, 64);
|
|
99
|
+
}
|
|
100
|
+
const padded = Buffer.alloc(64);
|
|
101
|
+
value.copy(padded);
|
|
102
|
+
return padded;
|
|
103
|
+
};
|
|
104
|
+
const asRecord = (value) => value && typeof value === 'object'
|
|
105
|
+
? value
|
|
106
|
+
: undefined;
|
|
107
|
+
const userDataFromRuntime = (runtime) => {
|
|
108
|
+
if (!runtime) {
|
|
109
|
+
return undefined;
|
|
110
|
+
}
|
|
111
|
+
const payload = asRecord(runtime['client-payload']);
|
|
112
|
+
if (typeof payload?.['user-data'] === 'string') {
|
|
113
|
+
const decoded = toUserData64(decodeClaimBytes(payload['user-data']));
|
|
114
|
+
if (decoded) {
|
|
115
|
+
return decoded;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
if (typeof runtime['user-data'] === 'string') {
|
|
119
|
+
return toUserData64(decodeClaimBytes(runtime['user-data']));
|
|
120
|
+
}
|
|
121
|
+
return undefined;
|
|
122
|
+
};
|
|
123
|
+
const extractRuntimeUserData = (claims, tee) => {
|
|
124
|
+
const fromTopLevel = userDataFromRuntime(asRecord(claims['x-ms-runtime']));
|
|
125
|
+
if (fromTopLevel) {
|
|
126
|
+
return fromTopLevel;
|
|
127
|
+
}
|
|
128
|
+
const fromTee = userDataFromRuntime(asRecord(tee['x-ms-runtime']));
|
|
129
|
+
if (fromTee) {
|
|
130
|
+
return fromTee;
|
|
131
|
+
}
|
|
132
|
+
throw new Error('MAA token is missing runtime user-data');
|
|
133
|
+
};
|
|
61
134
|
const isolationTee = (claims) => {
|
|
62
135
|
const nested = claims['x-ms-isolation-tee'];
|
|
63
136
|
if (nested && typeof nested === 'object') {
|
|
@@ -83,11 +156,13 @@ const verifyMaaJwt = async (token) => {
|
|
|
83
156
|
throw new Error(`Unsupported MAA JWT alg: ${header.alg}`);
|
|
84
157
|
}
|
|
85
158
|
const iss = payload.iss;
|
|
86
|
-
if (typeof iss !== 'string' ||
|
|
159
|
+
if (typeof iss !== 'string' ||
|
|
160
|
+
!/^https:\/\/[^/]+\.attest\.azure\.net\/?$/.test(iss)) {
|
|
87
161
|
throw new Error(`Unexpected MAA issuer: ${String(iss)}`);
|
|
88
162
|
}
|
|
89
163
|
const jwksUrl = header.jku ?? `${iss.replace(/\/$/, '')}/certs`;
|
|
90
|
-
if (typeof jwksUrl !== 'string' ||
|
|
164
|
+
if (typeof jwksUrl !== 'string' ||
|
|
165
|
+
!jwksUrl.startsWith(iss.replace(/\/$/, ''))) {
|
|
91
166
|
throw new Error('MAA JWT jku is not on the issuer host');
|
|
92
167
|
}
|
|
93
168
|
const jwks = await fetchJwks(jwksUrl);
|
|
@@ -118,23 +193,15 @@ const validateAzureTdxClaims = (claims) => {
|
|
|
118
193
|
if (tcbStatus && tcbStatus !== 'UpToDate') {
|
|
119
194
|
throw new Error(`Azure TDX TCB is ${String(tcbStatus)}`);
|
|
120
195
|
}
|
|
121
|
-
const
|
|
122
|
-
const userDataHex = runtime?.['user-data'];
|
|
123
|
-
if (typeof userDataHex !== 'string') {
|
|
124
|
-
throw new Error('MAA token is missing runtime user-data');
|
|
125
|
-
}
|
|
126
|
-
const userData = hexToBuffer(userDataHex);
|
|
127
|
-
if (userData.length < 64) {
|
|
128
|
-
throw new Error('MAA user-data is shorter than 64 bytes');
|
|
129
|
-
}
|
|
196
|
+
const userData = extractRuntimeUserData(claims, tee);
|
|
130
197
|
const tdAttributes = String(tee['tdx_td_attributes'] ?? '');
|
|
131
198
|
const mrtd = String(tee['tdx_mrtd'] ?? '');
|
|
132
199
|
const pcrs = extractPcrSha256Hex(claims);
|
|
133
200
|
const mrenclave = (0, exports.computeAzureTdxMrEnclave)(tdAttributes, mrtd, pcrs);
|
|
134
201
|
return {
|
|
135
|
-
userData
|
|
202
|
+
userData,
|
|
136
203
|
mrenclave,
|
|
137
204
|
};
|
|
138
205
|
};
|
|
139
206
|
exports.validateAzureTdxClaims = validateAzureTdxClaims;
|
|
140
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGR4QXp1cmVFdmlkZW5jZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9henVyZS90ZHhBenVyZUV2aWRlbmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1DQUFnRztBQUVuRixRQUFBLHlCQUF5QixHQUFHLGtCQUFrQixDQUFDO0FBT3JELE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxLQUFhLEVBQVUsRUFBRSxDQUM1RCxNQUFNLENBQUMsSUFBSSxDQUNQLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDWCxNQUFNLEVBQUUsaUNBQXlCO0lBQ2pDLEtBQUs7Q0FDcUIsQ0FBQyxFQUMvQixNQUFNLENBQ1QsQ0FBQztBQVBPLFFBQUEsc0JBQXNCLDBCQU83QjtBQUVDLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxRQUFnQixFQUFzQixFQUFFO0lBQzFFLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBZ0MsQ0FBQztJQUNwRixJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssaUNBQXlCLElBQUksT0FBTyxNQUFNLENBQUMsS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ2xGLE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBQ0QsT0FBTyxNQUE0QixDQUFDO0FBQ3hDLENBQUMsQ0FBQztBQU5XLFFBQUEscUJBQXFCLHlCQU1oQztBQUVGLE1BQU0sV0FBVyxHQUFHLENBQUMsR0FBVyxFQUFFLGFBQXNCLEVBQVUsRUFBRTtJQUNoRSxNQUFNLFVBQVUsR0FBRyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMvRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxVQUFVLENBQUMsTUFBTSxHQUFH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
|
|
207
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGR4QXp1cmVFdmlkZW5jZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9henVyZS90ZHhBenVyZUV2aWRlbmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1DQUtnQjtBQUVILFFBQUEseUJBQXlCLEdBQUcsa0JBQWtCLENBQUM7QUFPckQsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLEtBQWEsRUFBVSxFQUFFLENBQzVELE1BQU0sQ0FBQyxJQUFJLENBQ1AsSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUNYLE1BQU0sRUFBRSxpQ0FBeUI7SUFDakMsS0FBSztDQUNxQixDQUFDLEVBQy9CLE1BQU0sQ0FDVCxDQUFDO0FBUE8sUUFBQSxzQkFBc0IsMEJBTzdCO0FBRUMsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLFFBQWdCLEVBQXNCLEVBQUU7SUFDMUUsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FDckIsUUFBUSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FDRyxDQUFDO0lBQ2pDLElBQ0ksTUFBTSxDQUFDLE1BQU0sS0FBSyxpQ0FBeUI7UUFDM0MsT0FBTyxNQUFNLENBQUMsS0FBSyxLQUFLLFFBQVEsRUFDbEMsQ0FBQztRQUNDLE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBQ0QsT0FBTyxNQUE0QixDQUFDO0FBQ3hDLENBQUMsQ0FBQztBQVhXLFFBQUEscUJBQXFCLHlCQVdoQztBQUVGLE1BQU0sV0FBVyxHQUFHLENBQUMsR0FBVyxFQUFFLGFBQXNCLEVBQVUsRUFBRTtJQUNoRSxNQUFNLFVBQVUsR0FBRyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMvRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxVQUFVLENBQUMsTUFBTSxHQUFH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
|
|
@@ -80,6 +80,12 @@ class ChallengeNvidiaCCHelper {
|
|
|
80
80
|
log?.debug(String(logContent));
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
|
+
const message = String(error.message ?? '');
|
|
84
|
+
if (message.includes('NvmlHelper') ||
|
|
85
|
+
/\bNVML\b/.test(message)) {
|
|
86
|
+
log?.info('NVIDIA NVML unavailable; continuing without GPU token');
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
83
89
|
}
|
|
84
90
|
else if (error instanceof sp_nvtrust_wrapper_1.UntrustedGpusError) {
|
|
85
91
|
log?.error('Untrusted GPUs detected', {
|
|
@@ -173,4 +179,4 @@ class ChallengeNvidiaCCHelper {
|
|
|
173
179
|
}
|
|
174
180
|
}
|
|
175
181
|
exports.ChallengeNvidiaCCHelper = ChallengeNvidiaCCHelper;
|
|
176
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
182
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbGxlbmdlTnZpZGlhQ0NIZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2hhbGxlbmdlUHJvdmlkZXIvY2hhbGxlbmdlTnZpZGlhQ0NIZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkVBTzRDO0FBRTVDLG1DQUFvQztBQUVwQyxNQUFhLHVCQUF1QjtJQUN4QixNQUFNLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FDL0IsTUFBWTtRQUVaLE1BQU0sR0FBRyxHQUFHLE1BQU0sRUFBRSxLQUFLLENBQUM7WUFDdEIsTUFBTSxFQUFFLHlCQUF5QjtTQUNwQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUM7WUFDRCxNQUFNLE9BQU8sR0FBRyxJQUFJLG1DQUFjLEVBQUUsQ0FBQztZQUNyQyxHQUFHLEVBQUUsSUFBSSxDQUFDLDZCQUE2QixDQUFDLENBQUM7WUFDekMsTUFBTSxPQUFPLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUNsQyxHQUFHLEVBQUUsSUFBSSxDQUFDLGtDQUFrQyxDQUFDLENBQUM7WUFFOUMsTUFBTSxRQUFRLEdBQUcsTUFBTSxPQUFPLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDaEQsR0FBRyxFQUFFLEtBQUssQ0FBQyw4QkFBOEIsRUFBRTtnQkFDdkMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxRQUFRO2dCQUMzQixhQUFhLEVBQUUsUUFBUSxDQUFDLGFBQWE7YUFDeEMsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDckIsR0FBRyxFQUFFLElBQUksQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDO2dCQUNuRCxHQUFHLEVBQUUsSUFBSSxDQUNMLDhEQUE4RCxDQUNqRSxDQUFDO2dCQUNGLE9BQU87WUFDWCxDQUFDO1lBRUQsSUFBSSxxQkFBOEQsQ0FBQztZQUNuRSxJQUFJLFFBQVEsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3hCLHFC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
|
|
@@ -15,24 +15,36 @@ class ChallengeProviderTdxAzure {
|
|
|
15
15
|
async generateChallenge(userData, networkID) {
|
|
16
16
|
const { challengeData, nvidiaTokens } = await challengeNvidiaCCHelper_1.ChallengeNvidiaCCHelper.getTokenAndCombinedChallengeData(userData, this.logger);
|
|
17
17
|
const bin = process.env.AZURE_GUEST_ATTEST ?? 'azure-guest-attest';
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
];
|
|
18
|
+
const padded = Buffer.alloc(64);
|
|
19
|
+
challengeData.copy(padded);
|
|
20
|
+
const jsonArgs = ['guest-attest', '--provider', 'maa', '--json'];
|
|
21
|
+
const execOpts = {
|
|
22
|
+
timeout: 30000,
|
|
23
|
+
maxBuffer: 4 * 1024 * 1024,
|
|
24
|
+
};
|
|
26
25
|
let stdout;
|
|
27
26
|
try {
|
|
28
|
-
const result = await execFileAsync(bin,
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
27
|
+
const result = await execFileAsync(bin, [
|
|
28
|
+
...jsonArgs,
|
|
29
|
+
'--client-payload',
|
|
30
|
+
JSON.stringify({
|
|
31
|
+
'user-data': padded.toString('base64'),
|
|
32
|
+
}),
|
|
33
|
+
], execOpts);
|
|
32
34
|
stdout = result.stdout;
|
|
33
35
|
}
|
|
34
|
-
catch (
|
|
35
|
-
|
|
36
|
+
catch (clientPayloadError) {
|
|
37
|
+
try {
|
|
38
|
+
const result = await execFileAsync(bin, [
|
|
39
|
+
...jsonArgs,
|
|
40
|
+
'--user-data',
|
|
41
|
+
`hex:${padded.toString('hex')}`,
|
|
42
|
+
], execOpts);
|
|
43
|
+
stdout = result.stdout;
|
|
44
|
+
}
|
|
45
|
+
catch {
|
|
46
|
+
throw new Error(`azure-guest-attest failed (${bin}): ${clientPayloadError.stderr || clientPayloadError.message}`);
|
|
47
|
+
}
|
|
36
48
|
}
|
|
37
49
|
const jsonStart = stdout.indexOf('{');
|
|
38
50
|
if (jsonStart < 0) {
|
|
@@ -51,4 +63,4 @@ class ChallengeProviderTdxAzure {
|
|
|
51
63
|
}
|
|
52
64
|
}
|
|
53
65
|
exports.ChallengeProviderTdxAzure = ChallengeProviderTdxAzure;
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbGxlbmdlUHJvdmlkZXJUZHhBenVyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jaGFsbGVuZ2VQcm92aWRlci9jaGFsbGVuZ2VQcm92aWRlclRkeEF6dXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGlEQUF5QztBQUN6QywrQkFBaUM7QUFDakMsdUVBQW9FO0FBRXBFLDJEQUEyRTtBQUMzRSxnRUFBbUU7QUFFbkUsTUFBTSxhQUFhLEdBQUcsSUFBQSxnQkFBUyxFQUFDLHdCQUFRLENBQUMsQ0FBQztBQUUxQyxNQUFhLHlCQUF5QjtJQUNOO0lBQTVCLFlBQTRCLE1BQVk7UUFBWixXQUFNLEdBQU4sTUFBTSxDQUFNO0lBQUcsQ0FBQztJQUU1QyxLQUFLLENBQUMsaUJBQWlCLENBQ25CLFFBQWdCLEVBQ2hCLFNBQWtCO1FBRWxCLE1BQU0sRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLEdBQ2pDLE1BQU0saURBQXVCLENBQUMsZ0NBQWdDLENBQzFELFFBQVEsRUFDUixJQUFJLENBQUMsTUFBTSxDQUNkLENBQUM7UUFFTixNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQixJQUFJLG9CQUFvQixDQUFDO1FBQ25FLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDaEMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzQixNQUFNLFFBQVEsR0FBRyxDQUFDLGNBQWMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ2pFLE1BQU0sUUFBUSxHQUFHO1lBQ2IsT0FBTyxFQUFFLEtBQU07WUFDZixTQUFTLEVBQUUsQ0FBQyxHQUFHLElBQUksR0FBRyxJQUFJO1NBQzdCLENBQUM7UUFFRixJQUFJLE1BQWMsQ0FBQztRQUNuQixJQUFJLENBQUM7WUFDRCxNQUFNLE1BQU0sR0FBRyxNQUFNLGFBQWEsQ0FDOUIsR0FBRyxFQUNIO2dCQUNJLEdBQUcsUUFBUTtnQkFDWCxrQkFBa0I7Z0JBQ2xCLElBQUksQ0FBQyxTQUFTLENBQUM7b0JBQ1gsV0FBVyxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDO2lCQUN6QyxDQUFDO2FBQ0wsRUFDRCxRQUFRLENBQ1gsQ0FBQztZQUNGLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO1FBQzNCLENBQUM7UUFBQyxPQUFPLGtCQUF1QixFQUFFLENBQUM7WUFDL0IsSUFBSSxDQUFDO2dCQUNELE1BQU0sTUFBTSxHQUFHLE1BQU0sYUFBYSxDQUM5QixHQUFHLEVBQ0g7b0JBQ0ksR0FBRyxRQUFRO29CQUNYLGFBQWE7b0JBQ2IsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFO2lCQUNsQyxFQUNELFFBQVEsQ0FDWCxDQUFDO2dCQUNGLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO1lBQzNCLENBQUM7WUFBQyxNQUFNLENBQUM7Z0JBQ0wsTUFBTSxJQUFJLEtBQUssQ0FDWCw4QkFBOEIsR0FBRyxNQUM3QixrQkFBa0IsQ0FBQyxNQUFNLElBQUksa0JBQWtCLENBQUMsT0FDcEQsRUFBRSxDQUNMLENBQUM7WUFDTixDQUFDO1FBQ0wsQ0FBQztRQUVELE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEMsSUFBSSxTQUFTLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDaEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO1FBQzNELENBQUM7UUFDRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBSWhELENBQUM7UUFDRixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxPQUFPLE1BQU0sQ0FBQyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDckQsTUFBTSxJQUFJLEtBQUssQ0FDWCx1Q0FBdUMsTUFBTSxDQUFDLEtBQUssSUFBSSxVQUFVLEVBQUUsQ0FDdEUsQ0FBQztRQUNOLENBQUM7UUFFRCxPQUFPO1lBQ0gsSUFBSSxFQUFFLDBCQUFhLENBQUMsUUFBUTtZQUM1QixjQUFjLEVBQUUsSUFBQSx5Q0FBc0IsRUFBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUN6RCxRQUFRLENBQ1g7WUFDRCxZQUFZO1lBQ1osU0FBUztTQUNaLENBQUM7SUFDTixDQUFDO0NBQ0o7QUFqRkQsOERBaUZDIn0=
|