@super-protocol/pki-attestation-engine 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/dist/certificateGenerator.d.ts +34 -0
  2. package/dist/certificateGenerator.js +271 -0
  3. package/dist/challengeProvider/challengeNvidiaCCHelper.d.ts +10 -0
  4. package/dist/challengeProvider/challengeNvidiaCCHelper.js +62 -0
  5. package/dist/challengeProvider/challengeProvider.d.ts +6 -0
  6. package/dist/challengeProvider/challengeProvider.js +3 -0
  7. package/dist/challengeProvider/challengeProviderCertificate.d.ts +15 -0
  8. package/dist/challengeProvider/challengeProviderCertificate.js +82 -0
  9. package/dist/challengeProvider/challengeProviderSevSnp.d.ts +8 -0
  10. package/dist/challengeProvider/challengeProviderSevSnp.js +49 -0
  11. package/dist/challengeProvider/challengeProviderSgx.d.ts +8 -0
  12. package/dist/challengeProvider/challengeProviderSgx.js +47 -0
  13. package/dist/challengeProvider/challengeProviderTdx.d.ts +8 -0
  14. package/dist/challengeProvider/challengeProviderTdx.js +50 -0
  15. package/dist/challengeProvider/challengeProviderToken.d.ts +9 -0
  16. package/dist/challengeProvider/challengeProviderToken.js +22 -0
  17. package/dist/challengeProvider/challengeProviderUntrusted.d.ts +9 -0
  18. package/dist/challengeProvider/challengeProviderUntrusted.js +22 -0
  19. package/dist/challengeProvider/index.d.ts +8 -0
  20. package/dist/challengeProvider/index.js +25 -0
  21. package/dist/challengeValidator/challengeValidator.d.ts +18 -0
  22. package/dist/challengeValidator/challengeValidator.js +3 -0
  23. package/dist/challengeValidator/challengeValidatorCertificate.d.ts +9 -0
  24. package/dist/challengeValidator/challengeValidatorCertificate.js +55 -0
  25. package/dist/challengeValidator/challengeValidatorNvidia.d.ts +10 -0
  26. package/dist/challengeValidator/challengeValidatorNvidia.js +81 -0
  27. package/dist/challengeValidator/challengeValidatorSevSnp.d.ts +13 -0
  28. package/dist/challengeValidator/challengeValidatorSevSnp.js +137 -0
  29. package/dist/challengeValidator/challengeValidatorSgx.d.ts +8 -0
  30. package/dist/challengeValidator/challengeValidatorSgx.js +54 -0
  31. package/dist/challengeValidator/challengeValidatorTdx.d.ts +8 -0
  32. package/dist/challengeValidator/challengeValidatorTdx.js +52 -0
  33. package/dist/challengeValidator/challengeValidatorToken.d.ts +8 -0
  34. package/dist/challengeValidator/challengeValidatorToken.js +38 -0
  35. package/dist/challengeValidator/index.d.ts +8 -0
  36. package/dist/challengeValidator/index.js +32 -0
  37. package/dist/challengeValidator/schemas.d.ts +13 -0
  38. package/dist/challengeValidator/schemas.js +21 -0
  39. package/dist/challengeValidator/validatorConfig.d.ts +13 -0
  40. package/dist/challengeValidator/validatorConfig.js +3 -0
  41. package/dist/index.d.ts +3 -0
  42. package/dist/index.js +20 -0
  43. package/dist/validator/challengeValidator.d.ts +18 -0
  44. package/dist/validator/challengeValidator.js +3 -0
  45. package/dist/validator/challengeValidatorCertificate.d.ts +8 -0
  46. package/dist/validator/challengeValidatorCertificate.js +70 -0
  47. package/dist/validator/challengeValidatorNvidia.d.ts +10 -0
  48. package/dist/validator/challengeValidatorNvidia.js +81 -0
  49. package/dist/validator/challengeValidatorSevSnp.d.ts +14 -0
  50. package/dist/validator/challengeValidatorSevSnp.js +137 -0
  51. package/dist/validator/challengeValidatorSgx.d.ts +8 -0
  52. package/dist/validator/challengeValidatorSgx.js +69 -0
  53. package/dist/validator/challengeValidatorTdx.d.ts +8 -0
  54. package/dist/validator/challengeValidatorTdx.js +67 -0
  55. package/dist/validator/challengeValidatorToken.d.ts +9 -0
  56. package/dist/validator/challengeValidatorToken.js +38 -0
  57. package/dist/validator/schemas.d.ts +13 -0
  58. package/dist/validator/schemas.js +21 -0
  59. package/dist/validator/validatorConfig.d.ts +13 -0
  60. package/dist/validator/validatorConfig.js +3 -0
  61. package/package.json +30 -0
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ChallengeValidatorSgx = void 0;
13
+ const pki_common_1 = require("@super-protocol/pki-common");
14
+ const inversify_1 = require("inversify");
15
+ const pki_apps_common_1 = require("@super-protocol/pki-apps-common");
16
+ const addons_tee_1 = require("@super-protocol/addons-tee");
17
+ const sdk_js_1 = require("@super-protocol/sdk-js");
18
+ let ChallengeValidatorSgx = class ChallengeValidatorSgx {
19
+ log = new pki_apps_common_1.MockLog();
20
+ verifierService = new addons_tee_1.SgxNative.DcapQuoteVerifyService();
21
+ async validate(challenge) {
22
+ switch (challenge.type) {
23
+ case pki_common_1.ChallengeType.SGXDCAP:
24
+ const quote = Buffer.from(challenge.quoteBase64, 'base64');
25
+ try {
26
+ try {
27
+ await this.verifierService.validateQuoteVerifierEnclave(quote);
28
+ }
29
+ catch (e) {
30
+ this.log.debug(`validateQuoteVerifierEnclave returned error: ${e}`);
31
+ if (!e.hasOwnProperty('criticalError') ||
32
+ e.criticalError) {
33
+ throw e;
34
+ }
35
+ }
36
+ const parser = new sdk_js_1.TeeSgxParser();
37
+ const parsedQuote = parser.parseQuote(quote);
38
+ this.log.debug(`Parsed quote: ${JSON.stringify(parsedQuote)}`);
39
+ const parsedReport = parser.parseReport(parsedQuote.report);
40
+ const userData = parsedReport.userData;
41
+ this.log.debug(`Parsed report: ${JSON.stringify(parsedReport)}`);
42
+ const mrenclave = parsedReport.mrEnclave;
43
+ const mrsigner = parsedReport.mrSigner;
44
+ return {
45
+ success: true,
46
+ validatedUserData: Buffer.from(userData.slice(0, 32)),
47
+ validatedId: Buffer.from(mrenclave),
48
+ validatedCommonId: Buffer.from(mrsigner),
49
+ };
50
+ }
51
+ catch (e) {
52
+ return {
53
+ success: false,
54
+ error: e.message,
55
+ };
56
+ }
57
+ }
58
+ throw new Error('Method not implemented.');
59
+ }
60
+ };
61
+ exports.ChallengeValidatorSgx = ChallengeValidatorSgx;
62
+ __decorate([
63
+ (0, inversify_1.inject)(pki_apps_common_1.CommonInjectable.Logger),
64
+ __metadata("design:type", Object)
65
+ ], ChallengeValidatorSgx.prototype, "log", void 0);
66
+ exports.ChallengeValidatorSgx = ChallengeValidatorSgx = __decorate([
67
+ (0, inversify_1.injectable)()
68
+ ], ChallengeValidatorSgx);
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbGxlbmdlVmFsaWRhdG9yU2d4LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3ZhbGlkYXRvci9jaGFsbGVuZ2VWYWxpZGF0b3JTZ3gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsMkRBQXNFO0FBRXRFLHlDQUErQztBQUUvQyxxRUFJeUM7QUFDekMsMkRBQXVEO0FBQ3ZELG1EQUFzRDtBQUcvQyxJQUFNLHFCQUFxQixHQUEzQixNQUFNLHFCQUFxQjtJQUV2QixHQUFHLEdBQVEsSUFBSSx5QkFBTyxFQUFFLENBQUM7SUFFeEIsZUFBZSxHQUFHLElBQUksc0JBQVMsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBRWpFLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBb0I7UUFDL0IsUUFBUSxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDckIsS0FBSywwQkFBYSxDQUFDLE9BQU87Z0JBQ3RCLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDM0QsSUFBSSxDQUFDO29CQUNELElBQUksQ0FBQzt3QkFDRCxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsNEJBQTRCLENBQ25ELEtBQUssQ0FDUixDQUFDO29CQUNOLENBQUM7b0JBQUMsT0FBTyxDQUFNLEVBQUUsQ0FBQzt3QkFDZCxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FDVixnREFBZ0QsQ0FBQyxFQUFFLENBQ3RELENBQUM7d0JBQ0YsSUFDSSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDOzRCQUNsQyxDQUFDLENBQUMsYUFBYSxFQUNqQixDQUFDOzRCQUNDLE1BQU0sQ0FBQyxDQUFDO3dCQUNaLENBQUM7b0JBQ0wsQ0FBQztvQkFDRCxNQUFNLE1BQU0sR0FBRyxJQUFJLHFCQUFZLEVBQUUsQ0FBQztvQkFDbEMsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDN0MsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQ1YsaUJBQWlCLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FDakQsQ0FBQztvQkFDRixNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDNUQsTUFBTSxRQUFRLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQztvQkFDdkMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQ1Ysa0JBQWtCLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FDbkQsQ0FBQztvQkFDRixNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsU0FBUyxDQUFDO29CQUN6QyxNQUFNLFFBQVEsR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDO29CQUN2QyxPQUFPO3dCQUNILE9BQU8sRUFBRSxJQUFJO3dCQUNiLGlCQUFpQixFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7d0JBQ3JELFdBQVcsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQzt3QkFDbkMsaUJBQWlCLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7cUJBQzNDLENBQUM7Z0JBQ04sQ0FBQztnQkFBQyxPQUFPLENBQU0sRUFBRSxDQUFDO29CQUNkLE9BQU87d0JBQ0gsT0FBTyxFQUFFLEtBQUs7d0JBQ2QsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPO3FCQUNuQixDQUFDO2dCQUNOLENBQUM7UUFDVCxDQUFDO1FBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQy9DLENBQUM7Q0FDSixDQUFBO0FBckRZLHNEQUFxQjtBQUV2QjtJQUROLElBQUEsa0JBQU0sRUFBQyxrQ0FBZ0IsQ0FBQyxNQUFNLENBQUM7O2tEQUNBO2dDQUZ2QixxQkFBcUI7SUFEakMsSUFBQSxzQkFBVSxHQUFFO0dBQ0EscUJBQXFCLENBcURqQyJ9
@@ -0,0 +1,8 @@
1
+ import { Challenge } from '@super-protocol/pki-common';
2
+ import { ChallengeResult, ChallengeValidator } from './challengeValidator';
3
+ import { Log } from '@super-protocol/pki-apps-common';
4
+ export declare class ChallengeValidatorTdx implements ChallengeValidator {
5
+ log: Log;
6
+ private verifierService;
7
+ validate(challenge: Challenge): Promise<ChallengeResult>;
8
+ }
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ChallengeValidatorTdx = void 0;
13
+ const pki_common_1 = require("@super-protocol/pki-common");
14
+ const inversify_1 = require("inversify");
15
+ const addons_tee_1 = require("@super-protocol/addons-tee");
16
+ const pki_apps_common_1 = require("@super-protocol/pki-apps-common");
17
+ const sdk_js_1 = require("@super-protocol/sdk-js");
18
+ let ChallengeValidatorTdx = class ChallengeValidatorTdx {
19
+ log = new pki_apps_common_1.MockLog();
20
+ verifierService = new addons_tee_1.SgxNative.DcapQuoteVerifyService();
21
+ async validate(challenge) {
22
+ switch (challenge.type) {
23
+ case pki_common_1.ChallengeType.TDX:
24
+ const quote = Buffer.from(challenge.quoteBase64, 'base64');
25
+ try {
26
+ try {
27
+ await this.verifierService.validateQuoteVerifierEnclave(quote);
28
+ }
29
+ catch (e) {
30
+ this.log.debug(`validateQuoteVerifierEnclave returned error: ${e}`);
31
+ if (!e.hasOwnProperty('criticalError') ||
32
+ e.criticalError) {
33
+ throw e;
34
+ }
35
+ }
36
+ const parser = new sdk_js_1.TeeTdxParser();
37
+ const parsedQuote = parser.parseQuote(quote);
38
+ this.log.debug(`Parsed quote: ${JSON.stringify(parsedQuote)}`);
39
+ const parsedBody = parser.parseBody(parsedQuote.tdQuoteBody);
40
+ const userData = parsedBody.reportData;
41
+ this.log.debug(`Parsed report: ${JSON.stringify(parsedBody)}`);
42
+ const mrenclave = sdk_js_1.TeeTdxParser.getMrEnclave(quote);
43
+ return {
44
+ success: true,
45
+ validatedUserData: Buffer.from(userData.slice(0, 64)),
46
+ validatedId: Buffer.from(mrenclave),
47
+ };
48
+ }
49
+ catch (e) {
50
+ return {
51
+ success: false,
52
+ error: e.message,
53
+ };
54
+ }
55
+ }
56
+ throw new Error('Method not implemented.');
57
+ }
58
+ };
59
+ exports.ChallengeValidatorTdx = ChallengeValidatorTdx;
60
+ __decorate([
61
+ (0, inversify_1.inject)(pki_apps_common_1.CommonInjectable.Logger),
62
+ __metadata("design:type", Object)
63
+ ], ChallengeValidatorTdx.prototype, "log", void 0);
64
+ exports.ChallengeValidatorTdx = ChallengeValidatorTdx = __decorate([
65
+ (0, inversify_1.injectable)()
66
+ ], ChallengeValidatorTdx);
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbGxlbmdlVmFsaWRhdG9yVGR4LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3ZhbGlkYXRvci9jaGFsbGVuZ2VWYWxpZGF0b3JUZHgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsMkRBQXNFO0FBRXRFLHlDQUErQztBQUMvQywyREFBdUQ7QUFFdkQscUVBSXlDO0FBQ3pDLG1EQUFzRDtBQUcvQyxJQUFNLHFCQUFxQixHQUEzQixNQUFNLHFCQUFxQjtJQUV2QixHQUFHLEdBQVEsSUFBSSx5QkFBTyxFQUFFLENBQUM7SUFFeEIsZUFBZSxHQUFHLElBQUksc0JBQVMsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBRWpFLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBb0I7UUFDL0IsUUFBUSxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDckIsS0FBSywwQkFBYSxDQUFDLEdBQUc7Z0JBQ2xCLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDM0QsSUFBSSxDQUFDO29CQUNELElBQUksQ0FBQzt3QkFDRCxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsNEJBQTRCLENBQ25ELEtBQUssQ0FDUixDQUFDO29CQUNOLENBQUM7b0JBQUMsT0FBTyxDQUFNLEVBQUUsQ0FBQzt3QkFDZCxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FDVixnREFBZ0QsQ0FBQyxFQUFFLENBQ3RELENBQUM7d0JBQ0YsSUFDSSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDOzRCQUNsQyxDQUFDLENBQUMsYUFBYSxFQUNqQixDQUFDOzRCQUNDLE1BQU0sQ0FBQyxDQUFDO3dCQUNaLENBQUM7b0JBQ0wsQ0FBQztvQkFDRCxNQUFNLE1BQU0sR0FBRyxJQUFJLHFCQUFZLEVBQUUsQ0FBQztvQkFDbEMsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDN0MsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQ1YsaUJBQWlCLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FDakQsQ0FBQztvQkFDRixNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUMvQixXQUFXLENBQUMsV0FBVyxDQUMxQixDQUFDO29CQUNGLE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQyxVQUFVLENBQUM7b0JBQ3ZDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUNWLGtCQUFrQixJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQ2pELENBQUM7b0JBQ0YsTUFBTSxTQUFTLEdBQUcscUJBQVksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBRW5ELE9BQU87d0JBQ0gsT0FBTyxFQUFFLElBQUk7d0JBQ2IsaUJBQWlCLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQzt3QkFDckQsV0FBVyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO3FCQUN0QyxDQUFDO2dCQUNOLENBQUM7Z0JBQUMsT0FBTyxDQUFNLEVBQUUsQ0FBQztvQkFDZCxPQUFPO3dCQUNILE9BQU8sRUFBRSxLQUFLO3dCQUNkLEtBQUssRUFBRSxDQUFDLENBQUMsT0FBTztxQkFDbkIsQ0FBQztnQkFDTixDQUFDO1FBQ1QsQ0FBQztRQUNELE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUMvQyxDQUFDO0NBQ0osQ0FBQTtBQXREWSxzREFBcUI7QUFFdkI7SUFETixJQUFBLGtCQUFNLEVBQUMsa0NBQWdCLENBQUMsTUFBTSxDQUFDOztrREFDQTtnQ0FGdkIscUJBQXFCO0lBRGpDLElBQUEsc0JBQVUsR0FBRTtHQUNBLHFCQUFxQixDQXNEakMifQ==
@@ -0,0 +1,9 @@
1
+ import { Challenge } from '@super-protocol/pki-common';
2
+ import { ChallengeResult, ChallengeValidator } from './challengeValidator';
3
+ import { Log } from '@super-protocol/pki-apps-common';
4
+ export declare class ChallengeValidatorToken implements ChallengeValidator {
5
+ private readonly token;
6
+ private readonly log;
7
+ constructor(token: string, log: Log);
8
+ validate(challenge: Challenge): Promise<ChallengeResult>;
9
+ }
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ChallengeValidatorToken = void 0;
4
+ const pki_common_1 = require("@super-protocol/pki-common");
5
+ class ChallengeValidatorToken {
6
+ token;
7
+ log;
8
+ constructor(token, log) {
9
+ this.token = token;
10
+ this.log = log;
11
+ }
12
+ async validate(challenge) {
13
+ switch (challenge.type) {
14
+ case pki_common_1.ChallengeType.Token:
15
+ try {
16
+ if (challenge.token !== this.token) {
17
+ throw new Error('Invalid token');
18
+ }
19
+ this.log.info(`token challenge validated successfully`);
20
+ return {
21
+ success: true,
22
+ validatedUserData: Buffer.from(challenge.userDataBase64, 'base64'),
23
+ validatedId: Buffer.alloc(0), // empty as we don't have id in token challenge
24
+ };
25
+ }
26
+ catch (e) {
27
+ this.log.error(`challengeValidatorToken returned error: ${e}`);
28
+ return {
29
+ success: false,
30
+ error: e.message,
31
+ };
32
+ }
33
+ }
34
+ throw new Error('Method not implemented.');
35
+ }
36
+ }
37
+ exports.ChallengeValidatorToken = ChallengeValidatorToken;
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbGxlbmdlVmFsaWRhdG9yVG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdmFsaWRhdG9yL2NoYWxsZW5nZVZhbGlkYXRvclRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJEQUFzRTtBQUl0RSxNQUFhLHVCQUF1QjtJQUVYO0lBQ0E7SUFGckIsWUFDcUIsS0FBYSxFQUNiLEdBQVE7UUFEUixVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQ2IsUUFBRyxHQUFILEdBQUcsQ0FBSztJQUMxQixDQUFDO0lBRUosS0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFvQjtRQUMvQixRQUFRLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNyQixLQUFLLDBCQUFhLENBQUMsS0FBSztnQkFDcEIsSUFBSSxDQUFDO29CQUNELElBQUksU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7d0JBQ2pDLE1BQU0sSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7b0JBQ3JDLENBQUM7b0JBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsd0NBQXdDLENBQUMsQ0FBQztvQkFFeEQsT0FBTzt3QkFDSCxPQUFPLEVBQUUsSUFBSTt3QkFDYixpQkFBaUIsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUMxQixTQUFTLENBQUMsY0FBYyxFQUN4QixRQUFRLENBQ1g7d0JBQ0QsV0FBVyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsK0NBQStDO3FCQUNoRixDQUFDO2dCQUNOLENBQUM7Z0JBQUMsT0FBTyxDQUFNLEVBQUUsQ0FBQztvQkFDZCxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FDViwyQ0FBMkMsQ0FBQyxFQUFFLENBQ2pELENBQUM7b0JBQ0YsT0FBTzt3QkFDSCxPQUFPLEVBQUUsS0FBSzt3QkFDZCxLQUFLLEVBQUUsQ0FBQyxDQUFDLE9BQU87cUJBQ25CLENBQUM7Z0JBQ04sQ0FBQztRQUNULENBQUM7UUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDL0MsQ0FBQztDQUNKO0FBbkNELDBEQW1DQyJ9
@@ -0,0 +1,13 @@
1
+ export declare const accessCredentialsSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
2
+ storageType: import("@sinclair/typebox").TLiteral<"STORJ">;
3
+ credentials: import("@sinclair/typebox").TObject<{
4
+ token: import("@sinclair/typebox").TString;
5
+ }>;
6
+ }>, import("@sinclair/typebox").TObject<{
7
+ storageType: import("@sinclair/typebox").TLiteral<"S3">;
8
+ credentials: import("@sinclair/typebox").TObject<{
9
+ accessKeyId: import("@sinclair/typebox").TString;
10
+ secretKey: import("@sinclair/typebox").TString;
11
+ endpoint: import("@sinclair/typebox").TString;
12
+ }>;
13
+ }>]>;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.accessCredentialsSchema = void 0;
4
+ const typebox_1 = require("@sinclair/typebox");
5
+ exports.accessCredentialsSchema = typebox_1.Type.Union([
6
+ typebox_1.Type.Object({
7
+ storageType: typebox_1.Type.Literal('STORJ'),
8
+ credentials: typebox_1.Type.Object({
9
+ token: typebox_1.Type.String(),
10
+ }),
11
+ }),
12
+ typebox_1.Type.Object({
13
+ storageType: typebox_1.Type.Literal('S3'),
14
+ credentials: typebox_1.Type.Object({
15
+ accessKeyId: typebox_1.Type.String(),
16
+ secretKey: typebox_1.Type.String(),
17
+ endpoint: typebox_1.Type.String(),
18
+ }),
19
+ }),
20
+ ]);
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92YWxpZGF0b3Ivc2NoZW1hcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQ0FBeUM7QUFFNUIsUUFBQSx1QkFBdUIsR0FBRyxjQUFJLENBQUMsS0FBSyxDQUFDO0lBQzlDLGNBQUksQ0FBQyxNQUFNLENBQUM7UUFDUixXQUFXLEVBQUUsY0FBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7UUFDbEMsV0FBVyxFQUFFLGNBQUksQ0FBQyxNQUFNLENBQUM7WUFDckIsS0FBSyxFQUFFLGNBQUksQ0FBQyxNQUFNLEVBQUU7U0FDdkIsQ0FBQztLQUNMLENBQUM7SUFDRixjQUFJLENBQUMsTUFBTSxDQUFDO1FBQ1IsV0FBVyxFQUFFLGNBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBQy9CLFdBQVcsRUFBRSxjQUFJLENBQUMsTUFBTSxDQUFDO1lBQ3JCLFdBQVcsRUFBRSxjQUFJLENBQUMsTUFBTSxFQUFFO1lBQzFCLFNBQVMsRUFBRSxjQUFJLENBQUMsTUFBTSxFQUFFO1lBQ3hCLFFBQVEsRUFBRSxjQUFJLENBQUMsTUFBTSxFQUFFO1NBQzFCLENBQUM7S0FDTCxDQUFDO0NBQ0wsQ0FBQyxDQUFDIn0=
@@ -0,0 +1,13 @@
1
+ export interface SevValidationConfig {
2
+ sevTmp?: string;
3
+ cacheFolder?: string;
4
+ vmRepoOwner?: string;
5
+ vmRepo?: string;
6
+ releaseAsset?: string;
7
+ storageAccess?: Record<string, unknown>;
8
+ securityPolicy?: Record<string, unknown>;
9
+ }
10
+ export interface NvtrustWrapperConfig {
11
+ tmp?: string;
12
+ timeout?: number;
13
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9yQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3ZhbGlkYXRvci92YWxpZGF0b3JDb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
package/package.json ADDED
@@ -0,0 +1,30 @@
1
+ {
2
+ "name": "@super-protocol/pki-attestation-engine",
3
+ "version": "3.0.0",
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
+ "@sinclair/typebox": "0.33.22",
23
+ "@super-protocol/addons-tee": "^1.0.0",
24
+ "@super-protocol/pki-common": "^3.0.0",
25
+ "@super-protocol/sp-nvtrust-wrapper": "^2.0.6"
26
+ },
27
+ "peerDependencies": {
28
+ "@super-protocol/sdk-js": "*"
29
+ }
30
+ }