@super-protocol/pki-attestation-engine 5.0.0 → 5.0.1
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/dist/certificateGenerator.js +4 -6
- package/dist/challengeProvider/challengeProviderSevSnp.js +2 -2
- package/dist/challengeProvider/challengeProviderTdx.js +2 -2
- package/dist/challengeProvider/index.d.ts +0 -1
- package/dist/challengeProvider/index.js +1 -2
- package/dist/challengeValidator/challengeValidatorSevSnp.js +6 -6
- package/dist/challengeValidator/challengeValidatorTdx.js +2 -2
- package/dist/challengeValidator/index.d.ts +0 -1
- package/dist/challengeValidator/index.js +2 -4
- package/package.json +2 -2
- package/dist/challengeProvider/challengeProviderSgx.d.ts +0 -8
- package/dist/challengeProvider/challengeProviderSgx.js +0 -47
- package/dist/challengeValidator/challengeValidatorSgx.d.ts +0 -8
- package/dist/challengeValidator/challengeValidatorSgx.js +0 -54
|
@@ -58,8 +58,6 @@ const buildPrincipal = (certParams) => ({
|
|
|
58
58
|
});
|
|
59
59
|
const getAttestationPayloadBase64FromChallenge = (challenge) => {
|
|
60
60
|
switch (challenge.type) {
|
|
61
|
-
case pki_common_1.ChallengeType.SGXDCAP:
|
|
62
|
-
return challenge.quoteBase64;
|
|
63
61
|
case pki_common_1.ChallengeType.TDX:
|
|
64
62
|
case pki_common_1.ChallengeType.TDXGOOGLE:
|
|
65
63
|
case pki_common_1.ChallengeType.SEVSNP:
|
|
@@ -86,7 +84,7 @@ const generateRootCertificate = async (params) => {
|
|
|
86
84
|
const attestationPayloadBase64 = getAttestationPayloadBase64FromChallenge(params.challenge);
|
|
87
85
|
if (attestationPayloadBase64) {
|
|
88
86
|
customExtensions.push({
|
|
89
|
-
oid: pki_common_1.
|
|
87
|
+
oid: pki_common_1.OID_TEE_EVIDENCE,
|
|
90
88
|
value: Buffer.from(attestationPayloadBase64, 'base64'),
|
|
91
89
|
});
|
|
92
90
|
}
|
|
@@ -104,7 +102,7 @@ const generateRootCertificate = async (params) => {
|
|
|
104
102
|
};
|
|
105
103
|
exports.generateRootCertificate = generateRootCertificate;
|
|
106
104
|
const SYSTEM_MANAGED_EXTENSION_OIDS = [
|
|
107
|
-
pki_common_1.
|
|
105
|
+
pki_common_1.OID_TEE_EVIDENCE,
|
|
108
106
|
pki_common_1.OID_CUSTOM_EXTENSION_CHALLENGE_TYPE,
|
|
109
107
|
pki_common_1.OID_CUSTOM_EXTENSION_CHALLENGE_ID,
|
|
110
108
|
pki_common_1.OID_CUSTOM_EXTENSION_CHALLENGE_COMMON_ID,
|
|
@@ -212,7 +210,7 @@ const buildCommonExtensions = (params) => {
|
|
|
212
210
|
const attestationPayloadBase64 = getAttestationPayloadBase64FromChallenge(challenge);
|
|
213
211
|
if (attestationPayloadBase64) {
|
|
214
212
|
extensions.push({
|
|
215
|
-
oid: pki_common_1.
|
|
213
|
+
oid: pki_common_1.OID_TEE_EVIDENCE,
|
|
216
214
|
value: Buffer.from(attestationPayloadBase64, 'base64'),
|
|
217
215
|
});
|
|
218
216
|
}
|
|
@@ -300,4 +298,4 @@ const getParamsFromCSR = async (csrPem) => {
|
|
|
300
298
|
};
|
|
301
299
|
};
|
|
302
300
|
exports.getParamsFromCSR = getParamsFromCSR;
|
|
303
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VydGlmaWNhdGVHZW5lcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY2VydGlmaWNhdGVHZW5lcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbURBUWdDO0FBQ2hDLDJFQUc0QztBQUM1Qyw2QkFBMkI7QUFDM0IsMkRBbUJvQztBQUVwQyxNQUFNLHNCQUFzQixHQUFHLENBQUMsQ0FBQztBQUNqQyxNQUFNLHNCQUFzQixHQUFHLEtBQUssQ0FBQztBQUNyQyxNQUFNLGVBQWUsR0FBRyx5Q0FBeUMsQ0FBQztBQUVsRSxNQUFNLGlCQUFpQixHQUFHLENBQUMsS0FBYSxFQUFXLEVBQUU7SUFDakQsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2xDLElBQUksQ0FBQyxZQUFZLElBQUksWUFBWSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQztRQUM3QyxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRUQsTUFBTSxVQUFVLEdBQUcsWUFBWSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqRCxNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQztJQUVuRSxJQUFJLENBQUMsVUFBVSxJQUFJLFFBQVEsQ0FBQyxXQUFXLEVBQUUsS0FBSyxXQUFXLEVBQUUsQ0FBQztRQUN4RCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsSUFBSSxDQUFDLFFBQVEsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ2pFLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25DLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN2RCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRUQsT0FBTyxDQUFDLFVBQVUsSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztBQUM1QyxDQUFDLENBQUM7QUFFRixNQUFNLGlCQUFpQixHQUFHLENBQUMsS0FBYSxFQUFXLEVBQUU7SUFDakQsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2xDLE9BQU8sSUFBQSxVQUFJLEVBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQ3ZFLENBQUMsQ0FBQztBQUVGLE1BQU0seUJBQXlCLEdBQUcsQ0FBQyxNQUFnQixFQUFZLEVBQUUsQ0FDN0QsTUFBTTtLQUNELEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0tBQzVCLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxJQUFJLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFFOUQsTUFBTSxVQUFVLEdBQUcsQ0FBQyxJQUFVLEVBQUUsSUFBWSxFQUFRLEVBQUU7SUFDbEQsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDMUMsT0FBTyxJQUFJLENBQUM7QUFDaEIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxlQUFlLEdBQUcsQ0FBQyxVQUF5QixFQUFRLEVBQUU7SUFDeEQsTUFBTSxFQUFFLFlBQVksRUFBRSxHQUFHLFVBQVUsQ0FBQztJQUVwQyxJQUNJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUM7UUFDL0IsWUFBWSxHQUFHLHNCQUFzQjtRQUNyQyxZQUFZLEdBQUcsc0JBQXNCLEVBQ3ZDLENBQUM7UUFDQyxNQUFNLElBQUksS0FBSyxDQUNYLHNEQUFzRCxzQkFBc0IsUUFBUSxzQkFBc0IsRUFBRSxDQUMvRyxDQUFDO0lBQ04sQ0FBQztJQUVELE9BQU8sVUFBVSxDQUFDLElBQUksSUFBSSxFQUFFLEVBQUUsWUFBWSxDQUFDLENBQUM7QUFDaEQsQ0FBQyxDQUFDO0FBRUYsTUFBTSxjQUFjLEdBQUcsQ0FBQyxVQUF5QixFQUF3QixFQUFFLENBQUMsQ0FBQztJQUN6RSxVQUFVLEVBQUUsVUFBVSxDQUFDLFVBQVU7SUFDakMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxXQUFXO0lBQy9CLFNBQVMsRUFBRSxVQUFVLENBQUMsU0FBUztJQUMvQixZQUFZLEVBQUUsVUFBVSxDQUFDLFlBQVk7SUFDckMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxnQkFBZ0I7SUFDekMsa0JBQWtCLEVBQUUsVUFBVSxDQUFDLG9CQUFvQjtDQUN0RCxDQUFDLENBQUM7QUFFSCxNQUFNLHdDQUF3QyxHQUFHLENBQzdDLFNBQW9CLEVBQ0YsRUFBRTtJQUNwQixRQUFRLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixLQUFLLDBCQUFhLENBQUMsT0FBTztZQUN0QixPQUFPLFNBQVMsQ0FBQyxXQUFXLENBQUM7UUFDakMsS0FBSywwQkFBYSxDQUFDLEdBQUcsQ0FBQztRQUN2QixLQUFLLDBCQUFhLENBQUMsU0FBUyxDQUFDO1FBQzdCLEtBQUssMEJBQWEsQ0FBQyxNQUFNO1lBQ3JCLE9BQU8sU0FBUyxDQUFDLGNBQWMsQ0FBQztRQUNwQztZQUNJLE9BQU87SUFDZixDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBRUssTUFBTSx1QkFBdUIsR0FBRyxLQUFLLEVBQUUsTUFPN0MsRUFBbUIsRUFBRTtJQUNsQixNQUFNLFNBQVMsR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BELE1BQU0sUUFBUSxHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFcEQsTUFBTSxnQkFBZ0IsR0FBc0I7UUFDeEM7WUFDSSxHQUFHLEVBQUUsZ0RBQW1DO1lBQ3hDLEtBQUssRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQztTQUNyRDtLQUNKLENBQUM7SUFFRixJQUFJLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNyQixnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7WUFDbEIsR0FBRyxFQUFFLDhDQUFpQztZQUN0QyxLQUFLLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQztTQUNsRCxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsTUFBTSx3QkFBd0IsR0FBRyx3Q0FBd0MsQ0FDckUsTUFBTSxDQUFDLFNBQVMsQ0FDbkIsQ0FBQztJQUNGLElBQUksd0JBQXdCLEVBQUUsQ0FBQztRQUMzQixnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7WUFDbEIsR0FBRyxFQUFFLDBCQUFhO1lBQ2xCLEtBQUssRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLHdCQUF3QixFQUFFLFFBQVEsQ0FBQztTQUN6RCxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsTUFBTSxrQkFBa0IsR0FBdUI7UUFDM0MsVUFBVSxFQUFFLE1BQU0sQ0FBQyxhQUFhO1FBQ2hDLFNBQVMsRUFBRSxNQUFNLENBQUMsWUFBWTtRQUM5QixPQUFPLEVBQUUsU0FBUztRQUNsQixNQUFNLEVBQUUsU0FBUztRQUNqQixRQUFRO1FBQ1IsUUFBUSxFQUFFLE1BQU0sQ0FBQyxPQUFPO1FBQ3hCLEVBQUUsRUFBRSxJQUFJO1FBQ1IsZ0JBQWdCO0tBQ25CLENBQUM7SUFFRixPQUFPLDZCQUFvQixDQUFDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0FBQ2pFLENBQUMsQ0FBQztBQS9DVyxRQUFBLHVCQUF1QiwyQkErQ2xDO0FBRUYsTUFBTSw2QkFBNkIsR0FBRztJQUNsQywwQkFBYTtJQUNiLGdEQUFtQztJQUNuQyw4Q0FBaUM7SUFDakMscURBQXdDO0lBQ3hDLHFEQUF3QztJQUN4QyxpREFBb0M7SUFDcEMsbURBQXNDO0lBQ3RDLDBEQUE2QztDQUNoRCxDQUFDO0FBRUYsTUFBTSxzQkFBc0IsR0FBRyxDQUMzQixhQUFnQyxFQUFFLEVBQ2pCLEVBQUUsQ0FDbkIsVUFBVSxDQUFDLE1BQU0sQ0FDYixDQUFDLEdBQUcsRUFBRSxFQUFFLENBQ0osQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUN4QyxHQUFHLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FDMUIsQ0FDUixDQUFDO0FBRU4sTUFBTSx1QkFBdUIsR0FBRyxDQUFDLFNBQW9CLEVBQXFCLEVBQUU7SUFDeEUsSUFBSSxDQUFDLElBQUEsb0NBQXVCLEVBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztRQUN0QyxPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFFRCxNQUFNLFFBQVEsR0FBRyxtQ0FBYyxDQUFDLHVCQUF1QixDQUFDO1FBQ3BELEdBQUcsRUFBRSxTQUFTLENBQUMsWUFBWSxDQUFDLFFBQVE7S0FDdkMsQ0FBQyxDQUFDO0lBRUgsT0FBTztRQUNIO1lBQ0ksR0FBRyxFQUFFLGlEQUFvQztZQUN6QyxLQUFLLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxtQ0FBYyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUMvRDtLQUNKLENBQUM7QUFDTixDQUFDLENBQUM7QUFFRixNQUFNLG1DQUFtQyxHQUFHLENBQ3hDLFNBQW9CLEVBQ0gsRUFBRTtJQUNuQixJQUFJLFNBQVMsQ0FBQyxJQUFJLEtBQUssMEJBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMvQyxPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFFRCxNQUFNLGdCQUFnQixHQUFHLDJCQUFrQixDQUFDLGlCQUFpQixDQUN6RCxTQUFTLENBQUMsZ0JBQWdCLEVBQzFCLGdEQUFtQyxDQUN0QyxDQUFDO0lBQ0YsTUFBTSxhQUFhLEdBQUcsMkJBQWtCLENBQUMsaUJBQWlCLENBQ3RELFNBQVMsQ0FBQyxnQkFBZ0IsRUFDMUIsa0JBQVMsQ0FBQyw4QkFBOEIsQ0FDM0MsQ0FBQztJQUVGLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3RDLE1BQU0sSUFBSSxLQUFLLENBQ1gseURBQXlELGdEQUFtQyxPQUFPLGtCQUFTLENBQUMsOEJBQThCLEVBQUUsQ0FDaEosQ0FBQztJQUNOLENBQUM7SUFFRCxPQUFPO1FBQ0g7WUFDSSxHQUFHLEVBQUUsbURBQXNDO1lBQzNDLEtBQUssRUFBRSxnQkFBZ0I7U0FDMUI7UUFDRDtZQUNJLEdBQUcsRUFBRSwwREFBNkM7WUFDbEQsS0FBSyxFQUFFLGFBQWE7U0FDdkI7S0FDSixDQUFDO0FBQ04sQ0FBQyxDQUFDO0FBRUYsTUFBTSx1QkFBdUIsR0FBRyxDQUFDLFNBQW1CLEVBQXFCLEVBQUU7SUFDdkUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2IsT0FBTyxFQUFFLENBQUM7SUFDZCxDQUFDO0lBRUQsT0FBTztRQUNIO1lBQ0ksR0FBRyxFQUFFLHFEQUF3QztZQUM3QyxLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7U0FDekI7S0FDSixDQUFDO0FBQ04sQ0FBQyxDQUFDO0FBRUYsNkJBQTZCO0FBQzdCLGdDQUFnQztBQUNoQyw0Q0FBNEM7QUFDNUMsNkNBQTZDO0FBQzdDLDRCQUE0QjtBQUM1QiwrQkFBK0I7QUFDL0IscUJBQXFCO0FBQ3JCLFFBQVE7QUFDUixFQUFFO0FBQ0YsNERBQTREO0FBQzVELDRCQUE0QjtBQUM1QixnREFBZ0Q7QUFDaEQsU0FBUztBQUNULEVBQUU7QUFDRixXQUFXO0FBQ1gscUJBQXFCO0FBQ3JCLG9DQUFvQztBQUNwQyx5RUFBeUU7QUFDekUsWUFBWTtBQUNaLFVBQVU7QUFDVixtQkFBbUI7QUFDbkIsZ0JBQWdCO0FBQ2hCLDZEQUE2RDtBQUM3RCxrQ0FBa0M7QUFDbEMsaUJBQWlCO0FBQ2pCLGFBQWE7QUFDYixRQUFRO0FBQ1IsRUFBRTtBQUNGLGlCQUFpQjtBQUNqQixLQUFLO0FBRUwsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLE1BSTlCLEVBQXFCLEVBQUU7SUFDcEIsTUFBTSxVQUFVLEdBQXNCLEVBQUUsQ0FBQztJQUV6QyxJQUFJLE1BQU0sQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN2QixNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDO1FBRS9ELFVBQVUsQ0FBQyxJQUFJLENBQUM7WUFDWixHQUFHLEVBQUUsZ0RBQW1DO1lBQ3hDLEtBQUssRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDO1NBQzlDLENBQUMsQ0FBQztRQUVILElBQUksU0FBUyxDQUFDLElBQUksS0FBSywwQkFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3pDLFVBQVUsQ0FBQyxJQUFJLENBQUM7Z0JBQ1osR0FBRyxFQUFFLDhDQUFpQztnQkFDdEMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQzthQUNuQyxDQUFDLENBQUM7WUFFSCxJQUFJLFdBQVcsRUFBRSxDQUFDO2dCQUNkLFVBQVUsQ0FBQyxJQUFJLENBQUM7b0JBQ1osR0FBRyxFQUFFLHFEQUF3QztvQkFDN0MsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQztpQkFDekMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQztZQUVELElBQUksTUFBTSxDQUFDLFFBQVEsS0FBSyw0QkFBZSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUM1QyxNQUFNLHdCQUF3QixHQUMxQix3Q0FBd0MsQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDeEQsSUFBSSx3QkFBd0IsRUFBRSxDQUFDO29CQUMzQixVQUFVLENBQUMsSUFBSSxDQUFDO3dCQUNaLEdBQUcsRUFBRSwwQkFBYTt3QkFDbEIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsUUFBUSxDQUFDO3FCQUN6RCxDQUFDLENBQUM7Z0JBQ1AsQ0FBQztZQUNMLENBQUM7WUFFRCxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsdUJBQXVCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztZQUN2RCxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsbUNBQW1DLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUN2RSxDQUFDO0lBQ0wsQ0FBQztJQUVELE1BQU0sd0JBQXdCLEdBQUcsc0JBQXNCLENBQ25ELE1BQU0sQ0FBQyxvQkFBb0IsQ0FDOUIsQ0FBQztJQUVGLE9BQU8sQ0FBQyxHQUFHLHdCQUF3QixFQUFFLEdBQUcsVUFBVSxDQUFDLENBQUM7QUFDeEQsQ0FBQyxDQUFDO0FBa0JGLE1BQU0sbUJBQW1CLEdBQUcsS0FBSyxFQUM3QixNQUFtRCxFQUN6QixFQUFFO0lBQzVCLE1BQU0sZUFBZSxHQUFHLElBQUEsMkNBQThCLEVBQ2xELE1BQU0sQ0FBQyxjQUFjLEVBQ3JCLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FDSiwyQkFBa0IsQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUN0RCwyQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FDOUQsQ0FDUixDQUFDO0lBRUYsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMxQixNQUFNLElBQUksS0FBSyxDQUNYLG9FQUFvRSxDQUN2RSxDQUFDO0lBQ04sQ0FBQztJQUVELE1BQU0sY0FBYyxHQUFHLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxQyxNQUFNLFdBQVcsR0FDYixNQUFNLDZCQUFvQixDQUFDLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBRWpFLE1BQU0sZ0JBQWdCLEdBQUcscUJBQXFCLENBQUM7UUFDM0MsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRO1FBQ3pCLGFBQWEsRUFBRSxNQUFNLENBQUMsYUFBYTtRQUNuQyxvQkFBb0IsRUFBRSxNQUFNLENBQUMsb0JBQW9CO0tBQ3BELENBQUMsQ0FBQztJQUVILGdCQUFnQixDQUFDLElBQUksQ0FBQyxHQUFHLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3BFLDZCQUE2QjtJQUM3Qix5QkFBeUI7SUFDekIseUVBQXlFO0lBQ3pFLEtBQUs7SUFFTCxNQUFNLE9BQU8sR0FDVCxNQUFNLENBQUMsUUFBUSxLQUFLLDRCQUFlLENBQUMsS0FBSztRQUNyQyxDQUFDLENBQUMseUJBQXlCLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUMzQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBRWIsTUFBTSxPQUFPLEdBQXlCO1FBQ2xDLFVBQVUsRUFBRSxNQUFNLENBQUMsVUFBVSxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRTtRQUN4RCxPQUFPLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxXQUFXO1FBQ3RDLFNBQVMsRUFBRSxNQUFNLENBQUMsVUFBVSxDQUFDLFNBQVM7UUFDdEMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUMsWUFBWTtRQUM1QyxZQUFZLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0I7UUFDaEQsa0JBQWtCLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxvQkFBb0I7S0FDN0QsQ0FBQztJQUVGLE1BQU0sUUFBUSxHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFcEQsTUFBTSxrQkFBa0IsR0FBdUI7UUFDM0MsVUFBVSxFQUFFLE1BQU0sQ0FBQyxvQkFBb0I7UUFDdkMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxZQUFZO1FBQzlCLE9BQU87UUFDUCxRQUFRLEVBQUUsT0FBTztRQUNqQixFQUFFLEVBQUUsTUFBTSxDQUFDLEVBQUU7UUFDYixXQUFXLEVBQUUsTUFBTSxDQUFDLFdBQVc7UUFDL0IsTUFBTSxFQUFFLFdBQVcsQ0FBQyxPQUFPO1FBQzNCLFFBQVE7UUFDUixnQkFBZ0I7S0FDbkIsQ0FBQztJQUVGLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM1QixrQkFBa0IsQ0FBQyxhQUFhLEdBQUc7WUFDL0IsT0FBTyxFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBTztTQUNyQyxDQUFDO0lBQ04sQ0FBQztJQUVELE1BQU0sT0FBTyxHQUFHLE1BQU0sNkJBQW9CLENBQUMsWUFBWSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFFNUUsTUFBTSxZQUFZLEdBQ2QsTUFBTSxDQUFDLFFBQVEsS0FBSyxNQUFNLENBQUMsY0FBYztRQUNyQyxDQUFDLENBQUMsTUFBTSxDQUFDLGNBQWM7UUFDdkIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxjQUFjLEdBQUcsSUFBSSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUM7SUFFekQsT0FBTztRQUNILE9BQU87UUFDUCxPQUFPO1FBQ1AsWUFBWTtLQUNmLENBQUM7QUFDTixDQUFDLENBQUM7QUFFSyxNQUFNLDBCQUEwQixHQUFHLEtBQUssRUFDM0MsTUFBaUMsRUFDUCxFQUFFLENBQzVCLG1CQUFtQixDQUFDO0lBQ2hCLEdBQUcsTUFBTTtJQUNULEVBQUUsRUFBRSxJQUFJO0NBQ1gsQ0FBQyxDQUFDO0FBTk0sUUFBQSwwQkFBMEIsOEJBTWhDO0FBRUEsTUFBTSw0QkFBNEIsR0FBRyxLQUFLLEVBQzdDLE1BQWlDLEVBQ1AsRUFBRSxDQUM1QixtQkFBbUIsQ0FBQztJQUNoQixHQUFHLE1BQU07SUFDVCxFQUFFLEVBQUUsS0FBSztDQUNaLENBQUMsQ0FBQztBQU5NLFFBQUEsNEJBQTRCLGdDQU1sQztBQUVBLE1BQU0sZ0JBQWdCLEdBQUcsS0FBSyxFQUFFLE1BQWMsRUFBRSxFQUFFO0lBQ3JELE1BQU0sU0FBUyxHQUFHLE1BQU0sNkJBQW9CLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFdEUsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUN0RSxPQUFPO1FBQ0gsVUFBVTtRQUNWLFlBQVksRUFBRSxNQUFNLDhCQUFxQixDQUFDLGtCQUFrQixDQUN4RCxTQUFTLENBQUMsU0FBUyxDQUN0QjtRQUNELGFBQWEsRUFBRSxTQUFTLENBQUMsUUFBUSxJQUFJLEVBQUU7UUFDdkMsb0JBQW9CLEVBQUUsU0FBUyxDQUFDLFVBQVUsSUFBSSxFQUFFO0tBQ25ELENBQUM7QUFDTixDQUFDLENBQUM7QUFaVyxRQUFBLGdCQUFnQixvQkFZM0IifQ==
|
|
301
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VydGlmaWNhdGVHZW5lcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY2VydGlmaWNhdGVHZW5lcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbURBUWdDO0FBQ2hDLDJFQUc0QztBQUM1Qyw2QkFBMkI7QUFDM0IsMkRBbUJvQztBQUVwQyxNQUFNLHNCQUFzQixHQUFHLENBQUMsQ0FBQztBQUNqQyxNQUFNLHNCQUFzQixHQUFHLEtBQUssQ0FBQztBQUNyQyxNQUFNLGVBQWUsR0FBRyx5Q0FBeUMsQ0FBQztBQUVsRSxNQUFNLGlCQUFpQixHQUFHLENBQUMsS0FBYSxFQUFXLEVBQUU7SUFDakQsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2xDLElBQUksQ0FBQyxZQUFZLElBQUksWUFBWSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQztRQUM3QyxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRUQsTUFBTSxVQUFVLEdBQUcsWUFBWSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqRCxNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQztJQUVuRSxJQUFJLENBQUMsVUFBVSxJQUFJLFFBQVEsQ0FBQyxXQUFXLEVBQUUsS0FBSyxXQUFXLEVBQUUsQ0FBQztRQUN4RCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsSUFBSSxDQUFDLFFBQVEsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ2pFLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FB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
|
|
@@ -34,9 +34,9 @@ class ChallengeProviderSevSnp {
|
|
|
34
34
|
async generateChallenge(userData, networkID) {
|
|
35
35
|
// This module depends on native library that cannot be compiled for all architectures / operating systems.
|
|
36
36
|
// That is why we load it dynamically and use only when it's really needed.
|
|
37
|
-
const {
|
|
37
|
+
const { TeeNative } = await Promise.resolve().then(() => __importStar(require('@super-protocol/addons-tee')));
|
|
38
38
|
const { challengeData, nvidiaTokens } = await challengeNvidiaCCHelper_1.ChallengeNvidiaCCHelper.getTokenAndCombinedChallengeData(userData, this.logger);
|
|
39
|
-
const evidence = await
|
|
39
|
+
const evidence = await TeeNative.SevSNP.generateSerializedAmdSevSnpQemuEvidence(challengeData);
|
|
40
40
|
return {
|
|
41
41
|
type: pki_common_1.ChallengeType.SEVSNP,
|
|
42
42
|
evidenceBase64: evidence.toString('base64'),
|
|
@@ -36,9 +36,9 @@ class ChallengeProviderTdx {
|
|
|
36
36
|
async generateChallenge(userData, networkID) {
|
|
37
37
|
// This module depends on native library that cannot be compiled for all architectures / operating systems.
|
|
38
38
|
// That is why we load it dynamically and use only when it's really needed.
|
|
39
|
-
const {
|
|
39
|
+
const { TeeNative } = await Promise.resolve().then(() => __importStar(require('@super-protocol/addons-tee')));
|
|
40
40
|
const { challengeData, nvidiaTokens } = await challengeNvidiaCCHelper_1.ChallengeNvidiaCCHelper.getTokenAndCombinedChallengeData(userData, this.logger);
|
|
41
|
-
const dcapVerifyService = new
|
|
41
|
+
const dcapVerifyService = new TeeNative.DcapQuoteVerifyService();
|
|
42
42
|
const evidence = this.challengeType === pki_common_1.ChallengeType.TDXGOOGLE
|
|
43
43
|
? await dcapVerifyService.generateSerializedTDXGCPEvidence(challengeData)
|
|
44
44
|
: await dcapVerifyService.generateSerializedTDXQemuEvidence(challengeData);
|
|
@@ -15,11 +15,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./challengeProvider"), exports);
|
|
18
|
-
__exportStar(require("./challengeProviderSgx"), exports);
|
|
19
18
|
__exportStar(require("./challengeProviderTdx"), exports);
|
|
20
19
|
__exportStar(require("./challengeProviderUntrusted"), exports);
|
|
21
20
|
__exportStar(require("./challengeProviderSevSnp"), exports);
|
|
22
21
|
__exportStar(require("./challengeNvidiaCCHelper"), exports);
|
|
23
22
|
__exportStar(require("./challengeProviderCertificate"), exports);
|
|
24
23
|
__exportStar(require("./challengeProviderToken"), exports);
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2hhbGxlbmdlUHJvdmlkZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHNEQUFvQztBQUNwQyx5REFBdUM7QUFDdkMsK0RBQTZDO0FBQzdDLDREQUEwQztBQUMxQyw0REFBMEM7QUFDMUMsaUVBQStDO0FBQy9DLDJEQUF5QyJ9
|
|
@@ -57,14 +57,14 @@ class ChallengeValidatorSevSnp {
|
|
|
57
57
|
}
|
|
58
58
|
if (config?.securityPolicy) {
|
|
59
59
|
try {
|
|
60
|
-
this.securityPolicy = addons_tee_1.
|
|
60
|
+
this.securityPolicy = addons_tee_1.TeeNative.SevSNP.parsePolicySet(config.securityPolicy);
|
|
61
61
|
}
|
|
62
62
|
catch (error) {
|
|
63
63
|
this.log.error(`Failed to parse SEV-SNP security policy: ${error}`);
|
|
64
64
|
throw new Error(`Invalid SEV-SNP security policy configuration: ${error}`);
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
|
-
this.measureInstance = new addons_tee_1.
|
|
67
|
+
this.measureInstance = new addons_tee_1.TeeNative.SNPMrEnclaveCalculator({
|
|
68
68
|
cacheFolder,
|
|
69
69
|
vmRepo: config?.vmRepo,
|
|
70
70
|
vmRepoOwner: config?.vmRepoOwner,
|
|
@@ -79,7 +79,7 @@ class ChallengeValidatorSevSnp {
|
|
|
79
79
|
try {
|
|
80
80
|
let evidence;
|
|
81
81
|
try {
|
|
82
|
-
evidence = addons_tee_1.
|
|
82
|
+
evidence = addons_tee_1.TeeNative.deserializeTeeEvidence(Buffer.from(challenge.evidenceBase64, 'base64'));
|
|
83
83
|
}
|
|
84
84
|
catch (e) {
|
|
85
85
|
this.log.error(`deserializeTeeEvidence returned error: ${e}`);
|
|
@@ -90,7 +90,7 @@ class ChallengeValidatorSevSnp {
|
|
|
90
90
|
throw new Error(`Missing SNP QEMU evidence for challenge type ${challenge.type}`);
|
|
91
91
|
}
|
|
92
92
|
try {
|
|
93
|
-
await addons_tee_1.
|
|
93
|
+
await addons_tee_1.TeeNative.SevSNP.verifyReport(report, {
|
|
94
94
|
timeoutMs: 60000,
|
|
95
95
|
tmpDirTemplate: `${this.sevTmp}/verify-`,
|
|
96
96
|
});
|
|
@@ -105,14 +105,14 @@ class ChallengeValidatorSevSnp {
|
|
|
105
105
|
}
|
|
106
106
|
try {
|
|
107
107
|
if (this.securityPolicy) {
|
|
108
|
-
await addons_tee_1.
|
|
108
|
+
await addons_tee_1.TeeNative.SevSNP.verifyPolicy(Buffer.from(snpReport.rawReport), this.securityPolicy);
|
|
109
109
|
}
|
|
110
110
|
}
|
|
111
111
|
catch (e) {
|
|
112
112
|
this.log.error(`verifyPolicy returned error: ${e}`);
|
|
113
113
|
throw e;
|
|
114
114
|
}
|
|
115
|
-
const userData = await addons_tee_1.
|
|
115
|
+
const userData = await addons_tee_1.TeeNative.SevSNP.getReportData(Buffer.from(snpReport.rawReport));
|
|
116
116
|
let mrenclave;
|
|
117
117
|
try {
|
|
118
118
|
mrenclave =
|
|
@@ -5,7 +5,7 @@ const pki_common_1 = require("@super-protocol/pki-common");
|
|
|
5
5
|
const addons_tee_1 = require("@super-protocol/addons-tee");
|
|
6
6
|
class ChallengeValidatorTdx {
|
|
7
7
|
log;
|
|
8
|
-
verifierService = new addons_tee_1.
|
|
8
|
+
verifierService = new addons_tee_1.TeeNative.DcapQuoteVerifyService();
|
|
9
9
|
constructor(log) {
|
|
10
10
|
this.log = log;
|
|
11
11
|
}
|
|
@@ -14,7 +14,7 @@ class ChallengeValidatorTdx {
|
|
|
14
14
|
case pki_common_1.ChallengeType.TDX:
|
|
15
15
|
case pki_common_1.ChallengeType.TDXGOOGLE:
|
|
16
16
|
try {
|
|
17
|
-
const evidence = addons_tee_1.
|
|
17
|
+
const evidence = addons_tee_1.TeeNative.deserializeTeeEvidence(Buffer.from(challenge.evidenceBase64, 'base64'));
|
|
18
18
|
const tdxEvidence = challenge.type === pki_common_1.ChallengeType.TDXGOOGLE
|
|
19
19
|
? evidence.intelTdxGcp
|
|
20
20
|
: evidence.intelTdxQemu;
|
|
@@ -2,7 +2,6 @@ export * from './challengeValidator';
|
|
|
2
2
|
export * from './validatorConfig';
|
|
3
3
|
export { ChallengeValidatorCertificate } from './challengeValidatorCertificate';
|
|
4
4
|
export { ChallengeValidatorNvidia } from './challengeValidatorNvidia';
|
|
5
|
-
export { ChallengeValidatorSgx } from './challengeValidatorSgx';
|
|
6
5
|
export { ChallengeValidatorTdx } from './challengeValidatorTdx';
|
|
7
6
|
export { ChallengeValidatorSevSnp } from './challengeValidatorSevSnp';
|
|
8
7
|
export { ChallengeValidatorToken } from './challengeValidatorToken';
|
|
@@ -14,19 +14,17 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.ChallengeValidatorToken = exports.ChallengeValidatorSevSnp = exports.ChallengeValidatorTdx = exports.
|
|
17
|
+
exports.ChallengeValidatorToken = exports.ChallengeValidatorSevSnp = exports.ChallengeValidatorTdx = exports.ChallengeValidatorNvidia = exports.ChallengeValidatorCertificate = void 0;
|
|
18
18
|
__exportStar(require("./challengeValidator"), exports);
|
|
19
19
|
__exportStar(require("./validatorConfig"), exports);
|
|
20
20
|
var challengeValidatorCertificate_1 = require("./challengeValidatorCertificate");
|
|
21
21
|
Object.defineProperty(exports, "ChallengeValidatorCertificate", { enumerable: true, get: function () { return challengeValidatorCertificate_1.ChallengeValidatorCertificate; } });
|
|
22
22
|
var challengeValidatorNvidia_1 = require("./challengeValidatorNvidia");
|
|
23
23
|
Object.defineProperty(exports, "ChallengeValidatorNvidia", { enumerable: true, get: function () { return challengeValidatorNvidia_1.ChallengeValidatorNvidia; } });
|
|
24
|
-
var challengeValidatorSgx_1 = require("./challengeValidatorSgx");
|
|
25
|
-
Object.defineProperty(exports, "ChallengeValidatorSgx", { enumerable: true, get: function () { return challengeValidatorSgx_1.ChallengeValidatorSgx; } });
|
|
26
24
|
var challengeValidatorTdx_1 = require("./challengeValidatorTdx");
|
|
27
25
|
Object.defineProperty(exports, "ChallengeValidatorTdx", { enumerable: true, get: function () { return challengeValidatorTdx_1.ChallengeValidatorTdx; } });
|
|
28
26
|
var challengeValidatorSevSnp_1 = require("./challengeValidatorSevSnp");
|
|
29
27
|
Object.defineProperty(exports, "ChallengeValidatorSevSnp", { enumerable: true, get: function () { return challengeValidatorSevSnp_1.ChallengeValidatorSevSnp; } });
|
|
30
28
|
var challengeValidatorToken_1 = require("./challengeValidatorToken");
|
|
31
29
|
Object.defineProperty(exports, "ChallengeValidatorToken", { enumerable: true, get: function () { return challengeValidatorToken_1.ChallengeValidatorToken; } });
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2hhbGxlbmdlVmFsaWRhdG9yL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsdURBQXFDO0FBQ3JDLG9EQUFrQztBQUNsQyxpRkFBZ0Y7QUFBdkUsOElBQUEsNkJBQTZCLE9BQUE7QUFDdEMsdUVBQXNFO0FBQTdELG9JQUFBLHdCQUF3QixPQUFBO0FBQ2pDLGlFQUFnRTtBQUF2RCw4SEFBQSxxQkFBcUIsT0FBQTtBQUM5Qix1RUFBc0U7QUFBN0Qsb0lBQUEsd0JBQXdCLE9BQUE7QUFDakMscUVBQW9FO0FBQTNELGtJQUFBLHVCQUF1QixPQUFBIn0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@super-protocol/pki-attestation-engine",
|
|
3
|
-
"version": "5.0.
|
|
3
|
+
"version": "5.0.1",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.js",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"license": "ISC",
|
|
21
21
|
"dependencies": {
|
|
22
22
|
"@sinclair/typebox": "0.33.22",
|
|
23
|
-
"@super-protocol/addons-tee": "^
|
|
23
|
+
"@super-protocol/addons-tee": "^3.0.0",
|
|
24
24
|
"@super-protocol/pki-common": "^5.0.0",
|
|
25
25
|
"@super-protocol/sp-nvtrust-wrapper": "^2.1.0"
|
|
26
26
|
},
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { ChallengeProvider } from './challengeProvider';
|
|
3
|
-
import { Challenge, Log } from '@super-protocol/pki-common';
|
|
4
|
-
export declare class ChallengeProviderSgx implements ChallengeProvider {
|
|
5
|
-
readonly logger?: Log | undefined;
|
|
6
|
-
constructor(logger?: Log | undefined);
|
|
7
|
-
generateChallenge(userData: Buffer, networkID?: string): Promise<Challenge>;
|
|
8
|
-
}
|
|
@@ -1,47 +0,0 @@
|
|
|
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.ChallengeProviderSgx = void 0;
|
|
27
|
-
const pki_common_1 = require("@super-protocol/pki-common");
|
|
28
|
-
class ChallengeProviderSgx {
|
|
29
|
-
logger;
|
|
30
|
-
constructor(logger) {
|
|
31
|
-
this.logger = logger;
|
|
32
|
-
}
|
|
33
|
-
async generateChallenge(userData, networkID) {
|
|
34
|
-
// This module depends on native library that cannot be compiled for all architectures / operating systems.
|
|
35
|
-
// That is why we load it dynamically and use only when it's really needed.
|
|
36
|
-
const { SgxNative } = await Promise.resolve().then(() => __importStar(require('@super-protocol/addons-tee')));
|
|
37
|
-
const dcapVerifyService = new SgxNative.DcapQuoteVerifyService();
|
|
38
|
-
const quoteData = await dcapVerifyService.generateSGXQuote(userData);
|
|
39
|
-
return {
|
|
40
|
-
type: pki_common_1.ChallengeType.SGXDCAP,
|
|
41
|
-
quoteBase64: quoteData.toString('base64'),
|
|
42
|
-
networkID,
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
exports.ChallengeProviderSgx = ChallengeProviderSgx;
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbGxlbmdlUHJvdmlkZXJTZ3guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2hhbGxlbmdlUHJvdmlkZXIvY2hhbGxlbmdlUHJvdmlkZXJTZ3gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSwyREFBMkU7QUFFM0UsTUFBYSxvQkFBb0I7SUFDRDtJQUE1QixZQUE0QixNQUFZO1FBQVosV0FBTSxHQUFOLE1BQU0sQ0FBTTtJQUFHLENBQUM7SUFFNUMsS0FBSyxDQUFDLGlCQUFpQixDQUNuQixRQUFnQixFQUNoQixTQUFrQjtRQUVsQiwyR0FBMkc7UUFDM0csMkVBQTJFO1FBQzNFLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyx3REFBYSw0QkFBNEIsR0FBQyxDQUFDO1FBQ2pFLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxTQUFTLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUNqRSxNQUFNLFNBQVMsR0FBRyxNQUFNLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3JFLE9BQU87WUFDSCxJQUFJLEVBQUUsMEJBQWEsQ0FBQyxPQUFPO1lBQzNCLFdBQVcsRUFBRSxTQUFTLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztZQUN6QyxTQUFTO1NBQ1osQ0FBQztJQUNOLENBQUM7Q0FDSjtBQWxCRCxvREFrQkMifQ==
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { Challenge, Log } from '@super-protocol/pki-common';
|
|
2
|
-
import { ChallengeResult, ChallengeValidator } from './challengeValidator';
|
|
3
|
-
export declare class ChallengeValidatorSgx implements ChallengeValidator {
|
|
4
|
-
private readonly log;
|
|
5
|
-
private verifierService;
|
|
6
|
-
constructor(log: Log);
|
|
7
|
-
validate(challenge: Challenge): Promise<ChallengeResult>;
|
|
8
|
-
}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ChallengeValidatorSgx = void 0;
|
|
4
|
-
const pki_common_1 = require("@super-protocol/pki-common");
|
|
5
|
-
const addons_tee_1 = require("@super-protocol/addons-tee");
|
|
6
|
-
const sdk_js_1 = require("@super-protocol/sdk-js");
|
|
7
|
-
class ChallengeValidatorSgx {
|
|
8
|
-
log;
|
|
9
|
-
verifierService = new addons_tee_1.SgxNative.DcapQuoteVerifyService();
|
|
10
|
-
constructor(log) {
|
|
11
|
-
this.log = log;
|
|
12
|
-
}
|
|
13
|
-
async validate(challenge) {
|
|
14
|
-
switch (challenge.type) {
|
|
15
|
-
case pki_common_1.ChallengeType.SGXDCAP:
|
|
16
|
-
const quote = Buffer.from(challenge.quoteBase64, 'base64');
|
|
17
|
-
try {
|
|
18
|
-
try {
|
|
19
|
-
await this.verifierService.validateQuoteVerifierEnclave(quote);
|
|
20
|
-
}
|
|
21
|
-
catch (e) {
|
|
22
|
-
this.log.debug(`validateQuoteVerifierEnclave returned error: ${e}`);
|
|
23
|
-
if (!e.hasOwnProperty('criticalError') ||
|
|
24
|
-
e.criticalError) {
|
|
25
|
-
throw e;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
const parser = new sdk_js_1.TeeSgxParser();
|
|
29
|
-
const parsedQuote = parser.parseQuote(quote);
|
|
30
|
-
this.log.debug(`Parsed quote: ${JSON.stringify(parsedQuote)}`);
|
|
31
|
-
const parsedReport = parser.parseReport(parsedQuote.report);
|
|
32
|
-
const userData = parsedReport.userData;
|
|
33
|
-
this.log.debug(`Parsed report: ${JSON.stringify(parsedReport)}`);
|
|
34
|
-
const mrenclave = parsedReport.mrEnclave;
|
|
35
|
-
const mrsigner = parsedReport.mrSigner;
|
|
36
|
-
return {
|
|
37
|
-
success: true,
|
|
38
|
-
validatedUserData: Buffer.from(userData.slice(0, 32)),
|
|
39
|
-
validatedId: Buffer.from(mrenclave),
|
|
40
|
-
validatedCommonId: Buffer.from(mrsigner),
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
catch (e) {
|
|
44
|
-
return {
|
|
45
|
-
success: false,
|
|
46
|
-
error: e.message,
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
throw new Error('Method not implemented.');
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
exports.ChallengeValidatorSgx = ChallengeValidatorSgx;
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbGxlbmdlVmFsaWRhdG9yU2d4LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NoYWxsZW5nZVZhbGlkYXRvci9jaGFsbGVuZ2VWYWxpZGF0b3JTZ3gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkRBQTJFO0FBRTNFLDJEQUF1RDtBQUN2RCxtREFBc0Q7QUFFdEQsTUFBYSxxQkFBcUI7SUFHRDtJQUZyQixlQUFlLEdBQUcsSUFBSSxzQkFBUyxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFFakUsWUFBNkIsR0FBUTtRQUFSLFFBQUcsR0FBSCxHQUFHLENBQUs7SUFBRyxDQUFDO0lBRXpDLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBb0I7UUFDL0IsUUFBUSxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDckIsS0FBSywwQkFBYSxDQUFDLE9BQU87Z0JBQ3RCLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDM0QsSUFBSSxDQUFDO29CQUNELElBQUksQ0FBQzt3QkFDRCxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsNEJBQTRCLENBQ25ELEtBQUssQ0FDUixDQUFDO29CQUNOLENBQUM7b0JBQUMsT0FBTyxDQUFNLEVBQUUsQ0FBQzt3QkFDZCxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FDVixnREFBZ0QsQ0FBQyxFQUFFLENBQ3RELENBQUM7d0JBQ0YsSUFDSSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDOzRCQUNsQyxDQUFDLENBQUMsYUFBYSxFQUNqQixDQUFDOzRCQUNDLE1BQU0sQ0FBQyxDQUFDO3dCQUNaLENBQUM7b0JBQ0wsQ0FBQztvQkFDRCxNQUFNLE1BQU0sR0FBRyxJQUFJLHFCQUFZLEVBQUUsQ0FBQztvQkFDbEMsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDN0MsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQ1YsaUJBQWlCLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FDakQsQ0FBQztvQkFDRixNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDNUQsTUFBTSxRQUFRLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQztvQkFDdkMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQ1Ysa0JBQWtCLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FDbkQsQ0FBQztvQkFDRixNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsU0FBUyxDQUFDO29CQUN6QyxNQUFNLFFBQVEsR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDO29CQUN2QyxPQUFPO3dCQUNILE9BQU8sRUFBRSxJQUFJO3dCQUNiLGlCQUFpQixFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7d0JBQ3JELFdBQVcsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQzt3QkFDbkMsaUJBQWlCLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7cUJBQzNDLENBQUM7Z0JBQ04sQ0FBQztnQkFBQyxPQUFPLENBQU0sRUFBRSxDQUFDO29CQUNkLE9BQU87d0JBQ0gsT0FBTyxFQUFFLEtBQUs7d0JBQ2QsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPO3FCQUNuQixDQUFDO2dCQUNOLENBQUM7UUFDVCxDQUFDO1FBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQy9DLENBQUM7Q0FDSjtBQXBERCxzREFvREMifQ==
|