@super-protocol/addons-tee 1.0.0 → 1.1.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.
@@ -0,0 +1,8 @@
1
+ .gocache/
2
+ .gomodcache/
3
+ /go-tdx-attest-wrapper
4
+ /tdx-attest-wrapper
5
+ !go.mod
6
+ !go.sum
7
+ !main.go
8
+ !.gitignore
@@ -0,0 +1,18 @@
1
+ module github.com/super-protocol/sp-nodejs-addons/tee-addon/bindings/go-tdx-attest-wrapper
2
+
3
+ go 1.22
4
+
5
+ require (
6
+ github.com/google/go-eventlog v0.0.2
7
+ github.com/google/go-tdx-guest v0.3.1
8
+ )
9
+
10
+ require (
11
+ github.com/google/go-configfs-tsm v0.2.2 // indirect
12
+ github.com/google/go-tpm v0.9.0 // indirect
13
+ github.com/google/logger v1.1.1 // indirect
14
+ go.uber.org/multierr v1.11.0 // indirect
15
+ golang.org/x/crypto v0.17.0 // indirect
16
+ golang.org/x/sys v0.19.0 // indirect
17
+ google.golang.org/protobuf v1.34.2 // indirect
18
+ )
@@ -0,0 +1,29 @@
1
+ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
2
+ github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
3
+ github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
4
+ github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
5
+ github.com/google/go-configfs-tsm v0.2.2 h1:YnJ9rXIOj5BYD7/0DNnzs8AOp7UcvjfTvt215EWcs98=
6
+ github.com/google/go-configfs-tsm v0.2.2/go.mod h1:EL1GTDFMb5PZQWDviGfZV9n87WeGTR/JUg13RfwkgRo=
7
+ github.com/google/go-eventlog v0.0.2 h1:Q3XESKw1xuO7+U37PmFGmteQqprL8U5/linAiuy3oIY=
8
+ github.com/google/go-eventlog v0.0.2/go.mod h1:7huE5P8w2NTObSwSJjboHmB7ioBNblkijdzoVa2skfQ=
9
+ github.com/google/go-tdx-guest v0.3.1 h1:gl0KvjdsD4RrJzyLefDOvFOUH3NAJri/3qvaL5m83Iw=
10
+ github.com/google/go-tdx-guest v0.3.1/go.mod h1:/rc3d7rnPykOPuY8U9saMyEps0PZDThLk/RygXm04nE=
11
+ github.com/google/go-tpm v0.9.0 h1:sQF6YqWMi+SCXpsmS3fd21oPy/vSddwZry4JnmltHVk=
12
+ github.com/google/go-tpm v0.9.0/go.mod h1:FkNVkc6C+IsvDI9Jw1OveJmxGZUUaKxtrpOS47QWKfU=
13
+ github.com/google/logger v1.1.1 h1:+6Z2geNxc9G+4D4oDO9njjjn2d0wN5d7uOo0vOIW1NQ=
14
+ github.com/google/logger v1.1.1/go.mod h1:BkeJZ+1FhQ+/d087r4dzojEg1u2ZX+ZqG1jTUrLM+zQ=
15
+ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
16
+ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
17
+ github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY=
18
+ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
19
+ go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
20
+ go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
21
+ golang.org/x/crypto v0.17.0 h1:r8bRNjWL3GshPW3gkd+RpvzWrZAwPS49OmTGZ/uhM4k=
22
+ golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4=
23
+ golang.org/x/sys v0.0.0-20210426230700-d19ff857e887/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
24
+ golang.org/x/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o=
25
+ golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
26
+ google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg=
27
+ google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw=
28
+ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
29
+ gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
@@ -0,0 +1,142 @@
1
+ package main
2
+
3
+ import (
4
+ "encoding/base64"
5
+ "encoding/hex"
6
+ "encoding/json"
7
+ "errors"
8
+ "flag"
9
+ "fmt"
10
+ "os"
11
+ "strings"
12
+
13
+ "github.com/google/go-eventlog/register"
14
+ "github.com/google/go-eventlog/tcg"
15
+ "github.com/google/go-tdx-guest/client"
16
+ )
17
+
18
+ const (
19
+ defaultCCELEventLogPath = "/sys/firmware/acpi/tables/data/CCEL"
20
+ rtmr0MRIndex = 1
21
+ )
22
+
23
+ type eventRecord struct {
24
+ Type string `json:"type"`
25
+ Digest string `json:"digest"`
26
+ }
27
+
28
+ type outputPayload struct {
29
+ Quote string `json:"quote"`
30
+ EventLog []eventRecord `json:"eventLog"`
31
+ }
32
+
33
+ func main() {
34
+ if err := run(); err != nil {
35
+ fmt.Fprintf(os.Stderr, "error: %v\n", err)
36
+ os.Exit(1)
37
+ }
38
+ }
39
+
40
+ func run() error {
41
+ reportDataHex := flag.String("report-data", "", "hex-encoded report data, up to 64 bytes")
42
+ outputPath := flag.String("output", "", "write JSON output to file instead of stdout")
43
+ ccelEventLogPath := flag.String("ccel-event-log", defaultCCELEventLogPath, "path to CCEL event log data")
44
+ flag.Parse()
45
+
46
+ if *reportDataHex == "" {
47
+ return errors.New("missing required flag --report-data")
48
+ }
49
+
50
+ reportData, err := decodeReportData(*reportDataHex)
51
+ if err != nil {
52
+ return fmt.Errorf("decode report data: %w", err)
53
+ }
54
+
55
+ quoteProvider, err := client.GetQuoteProvider()
56
+ if err != nil {
57
+ return fmt.Errorf("get quote provider: %w", err)
58
+ }
59
+
60
+ rawQuote, err := client.GetRawQuote(quoteProvider, reportData)
61
+ if err != nil {
62
+ return fmt.Errorf("get TDX quote: %w", err)
63
+ }
64
+
65
+ events, err := readRTMR0Events(*ccelEventLogPath)
66
+ if err != nil {
67
+ return err
68
+ }
69
+
70
+ payload := outputPayload{
71
+ Quote: base64.StdEncoding.EncodeToString(rawQuote),
72
+ EventLog: events,
73
+ }
74
+
75
+ jsonData, err := json.MarshalIndent(payload, "", " ")
76
+ if err != nil {
77
+ return fmt.Errorf("marshal JSON: %w", err)
78
+ }
79
+
80
+ if *outputPath != "" {
81
+ if err := os.WriteFile(*outputPath, append(jsonData, '\n'), 0o644); err != nil {
82
+ return fmt.Errorf("write output file %q: %w", *outputPath, err)
83
+ }
84
+ return nil
85
+ }
86
+
87
+ _, err = os.Stdout.Write(append(jsonData, '\n'))
88
+ return err
89
+ }
90
+
91
+ func decodeReportData(raw string) ([64]byte, error) {
92
+ var reportData [64]byte
93
+
94
+ normalized := strings.TrimSpace(raw)
95
+ normalized = strings.TrimPrefix(normalized, "0x")
96
+ normalized = strings.TrimPrefix(normalized, "0X")
97
+
98
+ decoded, err := hex.DecodeString(normalized)
99
+ if err != nil {
100
+ return reportData, err
101
+ }
102
+ if len(decoded) > len(reportData) {
103
+ return reportData, fmt.Errorf("report data is %d bytes, exceeds 64 bytes", len(decoded))
104
+ }
105
+
106
+ copy(reportData[:], decoded)
107
+ return reportData, nil
108
+ }
109
+
110
+ func readRTMR0Events(eventLogPath string) ([]eventRecord, error) {
111
+ eventLogData, err := os.ReadFile(eventLogPath)
112
+ if err != nil {
113
+ return nil, fmt.Errorf("read CCEL event log %q: %w", eventLogPath, err)
114
+ }
115
+
116
+ eventLog, err := tcg.ParseEventLog(eventLogData, tcg.ParseOpts{AllowPadding: true})
117
+ if err != nil {
118
+ return nil, fmt.Errorf("parse CCEL event log %q: %w", eventLogPath, err)
119
+ }
120
+
121
+ records := make([]eventRecord, 0)
122
+ for _, event := range eventLog.Events(register.HashSHA384) {
123
+ if event.MRIndex() != rtmr0MRIndex {
124
+ continue
125
+ }
126
+
127
+ records = append(records, eventRecord{
128
+ Type: eventTypeTCGString(event.UntrustedType()),
129
+ Digest: hex.EncodeToString(event.ReplayedDigest()),
130
+ })
131
+ }
132
+
133
+ return records, nil
134
+ }
135
+
136
+ func eventTypeTCGString(eventType any) string {
137
+ if typed, ok := eventType.(interface{ TCGString() string }); ok {
138
+ return typed.TCGString()
139
+ }
140
+
141
+ return fmt.Sprintf("%v", eventType)
142
+ }
Binary file
Binary file
@@ -1,4 +1,5 @@
1
1
  /// <reference types="node" />
2
+ import { TdxQuoteWithEventLog } from "./tdx-quote-with-event-log-schema";
2
3
  export declare class DcapQuoteVerifyService {
3
4
  private readonly quoteVerifier;
4
5
  private static isInGramineMode;
@@ -7,6 +8,8 @@ export declare class DcapQuoteVerifyService {
7
8
  extractQuoteFromCert(pemOrDerCert: Buffer): Promise<Buffer>;
8
9
  validateQuoteVerifierEnclave(quote: Buffer, checkSecurity?: boolean): Promise<void>;
9
10
  generateTDXQuote(userData: Buffer): Promise<Buffer>;
11
+ generateTDXQuoteWithEventLog(userData: Buffer): Promise<TdxQuoteWithEventLog>;
12
+ private static formatSubprocessError;
10
13
  private validateMode;
11
14
  generateSGXQuote(userData: Buffer): Promise<Buffer>;
12
15
  }
@@ -1,4 +1,27 @@
1
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
+ };
2
25
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
27
  };
@@ -9,6 +32,15 @@ const consts_1 = require("./consts");
9
32
  const errors_1 = require("./errors");
10
33
  const p_queue_1 = __importDefault(require("p-queue"));
11
34
  const fs_1 = require("fs");
35
+ const child_process_1 = require("child_process");
36
+ const os = __importStar(require("os"));
37
+ const path = __importStar(require("path"));
38
+ const util_1 = require("util");
39
+ const value_1 = require("@sinclair/typebox/value");
40
+ const helpers_1 = require("./helpers");
41
+ const tdx_quote_with_event_log_schema_1 = require("./tdx-quote-with-event-log-schema");
42
+ const execFileAsync = (0, util_1.promisify)(child_process_1.execFile);
43
+ const TDX_ATTEST_WRAPPER_PATH = path.resolve(__dirname, "../../bindings/go-tdx-attest-wrapper/go-tdx-attest-wrapper");
12
44
  class DcapQuoteVerifyService {
13
45
  constructor() {
14
46
  this.quoteVerifier = new SgxAttestationVerifier();
@@ -35,6 +67,67 @@ class DcapQuoteVerifyService {
35
67
  async generateTDXQuote(userData) {
36
68
  return this.quoteVerifier.generateTDXQuote(userData);
37
69
  }
70
+ async generateTDXQuoteWithEventLog(userData) {
71
+ if (!Buffer.isBuffer(userData)) {
72
+ throw new Error("userData must be a Buffer");
73
+ }
74
+ if (userData.length === 0) {
75
+ throw new Error("userData cannot be empty");
76
+ }
77
+ let tempDir = "";
78
+ try {
79
+ await fs_1.promises.access(TDX_ATTEST_WRAPPER_PATH, fs_1.constants.X_OK);
80
+ tempDir = await fs_1.promises.mkdtemp(path.join(os.tmpdir(), "tdx-quote-with-event-log-"));
81
+ const outputPath = path.join(tempDir, "quote-with-event-log.json");
82
+ await DcapQuoteVerifyService.executeLikeWithMutex.add(async () => {
83
+ try {
84
+ await execFileAsync(TDX_ATTEST_WRAPPER_PATH, [
85
+ "--report-data",
86
+ userData.toString("hex"),
87
+ "--output",
88
+ outputPath,
89
+ ]);
90
+ }
91
+ catch (error) {
92
+ throw new errors_1.QuoteGenerationError(`Failed to generate quote with event log: ${DcapQuoteVerifyService.formatSubprocessError(error)}`);
93
+ }
94
+ });
95
+ const rawJson = await fs_1.promises.readFile(outputPath, "utf8");
96
+ const parsed = JSON.parse(rawJson);
97
+ if (!value_1.Value.Check(tdx_quote_with_event_log_schema_1.TdxQuoteWithEventLogJsonSchema, parsed)) {
98
+ const [firstError] = [...value_1.Value.Errors(tdx_quote_with_event_log_schema_1.TdxQuoteWithEventLogJsonSchema, parsed)];
99
+ const errorMessage = firstError ? `${firstError.path} ${firstError.message}`.trim() : "unknown error";
100
+ throw new errors_1.QuoteGenerationError(`Failed to validate quote with event log JSON: ${errorMessage}`);
101
+ }
102
+ const result = parsed;
103
+ return {
104
+ quote: Buffer.from(result.quote, "base64"),
105
+ eventLog: result.eventLog,
106
+ };
107
+ }
108
+ catch (error) {
109
+ if (error instanceof errors_1.QuoteGenerationError) {
110
+ throw error;
111
+ }
112
+ if (error instanceof Error) {
113
+ throw new errors_1.QuoteGenerationError(`Failed to generate quote with event log: ${error.message}`);
114
+ }
115
+ throw new errors_1.QuoteGenerationError("Failed to generate quote with event log: unknown error");
116
+ }
117
+ finally {
118
+ if (tempDir) {
119
+ await (0, helpers_1.gramineCompatibleRmDir)(tempDir);
120
+ }
121
+ }
122
+ }
123
+ static formatSubprocessError(error) {
124
+ if (!(error instanceof Error)) {
125
+ return "unknown error";
126
+ }
127
+ const processError = error;
128
+ const output = [processError.stdout, processError.stderr].filter(Boolean).join("\n").trim();
129
+ return output ? `${processError.message}\n${output}` : processError.message;
130
+ }
38
131
  async validateMode() {
39
132
  if (DcapQuoteVerifyService.isInGramineMode) {
40
133
  return;
@@ -81,4 +174,4 @@ class DcapQuoteVerifyService {
81
174
  exports.DcapQuoteVerifyService = DcapQuoteVerifyService;
82
175
  DcapQuoteVerifyService.isInGramineMode = false;
83
176
  DcapQuoteVerifyService.executeLikeWithMutex = new p_queue_1.default({ concurrency: 1 });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGNhcC1xdW90ZS12ZXJpZnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZ3gtbmF0aXZlLW1vZHVsZS9kY2FwLXF1b3RlLXZlcmlmeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLE1BQU0sRUFBRSxzQkFBc0IsRUFBRSxHQUFHLE9BQU8sQ0FBQyx5REFBeUQsQ0FBQyxDQUFDO0FBQ3RHLHFDQUFnRTtBQUNoRSxxQ0FLa0I7QUFDbEIsc0RBQTRCO0FBQzVCLDJCQUE4QjtBQVE5QixNQUFhLHNCQUFzQjtJQUsvQjtRQUNJLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxzQkFBc0IsRUFBRSxDQUFDO0lBQ3RELENBQUM7SUFFRCxLQUFLLENBQUMsb0JBQW9CLENBQUMsWUFBb0I7UUFDM0MsSUFBSSxDQUFDLFlBQVksRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUN4QixNQUFNLElBQUksK0NBQXNDLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUMxRSxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLG9CQUFvQixDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxLQUFLLENBQUMsNEJBQTRCLENBQUMsS0FBYSxFQUFFLGFBQXVCO1FBQ3JFLGFBQWEsR0FBRyxhQUFhLElBQUksS0FBSyxDQUFDO1FBRXZDLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDakIsTUFBTSxJQUFJLCtDQUFzQyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3BFLENBQUM7UUFFRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvRCxJQUFJLGFBQWEsSUFBSSxZQUFZLENBQUMsVUFBVSxLQUFLLGdCQUFPLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDckUsTUFBTSxJQUFJLHFDQUE0QixDQUFDLFlBQVksQ0FB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
177
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGNhcC1xdW90ZS12ZXJpZnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZ3gtbmF0aXZlLW1vZHVsZS9kY2FwLXF1b3RlLXZlcmlmeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsTUFBTSxFQUFFLHNCQUFzQixFQUFFLEdBQUcsT0FBTyxDQUFDLHlEQUF5RCxDQUFDLENBQUM7QUFDdEcscUNBQWdFO0FBQ2hFLHFDQUtrQjtBQUNsQixzREFBNEI7QUFDNUIsMkJBQXlDO0FBQ3pDLGlEQUF5QztBQUN6Qyx1Q0FBeUI7QUFDekIsMkNBQTZCO0FBQzdCLCtCQUFpQztBQUNqQyxtREFBZ0Q7QUFDaEQsdUNBQW1EO0FBQ25ELHVGQUkyQztBQUUzQyxNQUFNLGFBQWEsR0FBRyxJQUFBLGdCQUFTLEVBQUMsd0JBQVEsQ0FBQyxDQUFDO0FBQzFDLE1BQU0sdUJBQXVCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsNERBQTRELENBQUMsQ0FBQztBQVF0SCxNQUFhLHNCQUFzQjtJQUsvQjtRQUNJLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxzQkFBc0IsRUFBRSxDQUFDO0lBQ3RELENBQUM7SUFFRCxLQUFLLENBQUMsb0JBQW9CLENBQUMsWUFBb0I7UUFDM0MsSUFBSSxDQUFDLFlBQVksRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUN4QixNQUFNLElBQUksK0NBQXNDLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUMxRSxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLG9CQUFvQixDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxLQUFLLENBQUMsNEJBQTRCLENBQUMsS0FBYSxFQUFFLGFBQXVCO1FBQ3JFLGFBQWEsR0FBRyxhQUFhLElBQUksS0FBSyxDQUFDO1FBRXZDLElBQUksQ0FBQyxLQUFLLEVBQUUs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
@@ -6,4 +6,5 @@ export * from "./pki.service";
6
6
  export * from "./sev-snp";
7
7
  export * from "./sev-snp-mrenclave";
8
8
  export * from "./sev-snp-schema";
9
+ export * from "./tdx-quote-with-event-log-schema";
9
10
  export * from "../proto/AmdSevSnp";
@@ -22,5 +22,6 @@ __exportStar(require("./pki.service"), exports);
22
22
  __exportStar(require("./sev-snp"), exports);
23
23
  __exportStar(require("./sev-snp-mrenclave"), exports);
24
24
  __exportStar(require("./sev-snp-schema"), exports);
25
+ __exportStar(require("./tdx-quote-with-event-log-schema"), exports);
25
26
  __exportStar(require("../proto/AmdSevSnp"), exports);
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2d4LW5hdGl2ZS1tb2R1bGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJDQUF5QjtBQUN6QiwyQ0FBeUI7QUFDekIsb0RBQWtDO0FBQ2xDLDhEQUE0QztBQUM1QyxnREFBOEI7QUFDOUIsNENBQTBCO0FBQzFCLHNEQUFvQztBQUNwQyxtREFBaUM7QUFDakMscURBQW1DIn0=
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2d4LW5hdGl2ZS1tb2R1bGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJDQUF5QjtBQUN6QiwyQ0FBeUI7QUFDekIsb0RBQWtDO0FBQ2xDLDhEQUE0QztBQUM1QyxnREFBOEI7QUFDOUIsNENBQTBCO0FBQzFCLHNEQUFvQztBQUNwQyxtREFBaUM7QUFDakMsb0VBQWtEO0FBQ2xELHFEQUFtQyJ9
@@ -0,0 +1,19 @@
1
+ /// <reference types="node" />
2
+ import { Static } from "@sinclair/typebox";
3
+ export declare const TdxEventLogEntrySchema: import("@sinclair/typebox").TObject<{
4
+ type: import("@sinclair/typebox").TString;
5
+ digest: import("@sinclair/typebox").TString;
6
+ }>;
7
+ export declare const TdxQuoteWithEventLogJsonSchema: import("@sinclair/typebox").TObject<{
8
+ quote: import("@sinclair/typebox").TString;
9
+ eventLog: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
10
+ type: import("@sinclair/typebox").TString;
11
+ digest: import("@sinclair/typebox").TString;
12
+ }>>;
13
+ }>;
14
+ export type TdxEventLogEntry = Static<typeof TdxEventLogEntrySchema>;
15
+ export type TdxQuoteWithEventLogJson = Static<typeof TdxQuoteWithEventLogJsonSchema>;
16
+ export interface TdxQuoteWithEventLog {
17
+ quote: Buffer;
18
+ eventLog: TdxEventLogEntry[];
19
+ }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TdxQuoteWithEventLogJsonSchema = exports.TdxEventLogEntrySchema = void 0;
4
+ const typebox_1 = require("@sinclair/typebox");
5
+ exports.TdxEventLogEntrySchema = typebox_1.Type.Object({
6
+ type: typebox_1.Type.String(),
7
+ digest: typebox_1.Type.String(),
8
+ });
9
+ exports.TdxQuoteWithEventLogJsonSchema = typebox_1.Type.Object({
10
+ quote: typebox_1.Type.String(),
11
+ eventLog: typebox_1.Type.Array(exports.TdxEventLogEntrySchema),
12
+ });
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGR4LXF1b3RlLXdpdGgtZXZlbnQtbG9nLXNjaGVtYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZ3gtbmF0aXZlLW1vZHVsZS90ZHgtcXVvdGUtd2l0aC1ldmVudC1sb2ctc2NoZW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtDQUFpRDtBQUVwQyxRQUFBLHNCQUFzQixHQUFHLGNBQUksQ0FBQyxNQUFNLENBQUM7SUFDOUMsSUFBSSxFQUFFLGNBQUksQ0FBQyxNQUFNLEVBQUU7SUFDbkIsTUFBTSxFQUFFLGNBQUksQ0FBQyxNQUFNLEVBQUU7Q0FDeEIsQ0FBQyxDQUFDO0FBRVUsUUFBQSw4QkFBOEIsR0FBRyxjQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3RELEtBQUssRUFBRSxjQUFJLENBQUMsTUFBTSxFQUFFO0lBQ3BCLFFBQVEsRUFBRSxjQUFJLENBQUMsS0FBSyxDQUFDLDhCQUFzQixDQUFDO0NBQy9DLENBQUMsQ0FBQyJ9
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@super-protocol/addons-tee",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "description": "The TEE trusted loader addons",
5
5
  "tags": [
6
6
  "tee"
@@ -15,8 +15,8 @@
15
15
  "author": "Super Protocol",
16
16
  "license": "ISC",
17
17
  "engines": {
18
- "node": ">=14.0",
19
- "npm": ">=6.0"
18
+ "node": ">=20.0",
19
+ "npm": ">=10.0"
20
20
  },
21
21
  "main": "dist/index.js",
22
22
  "module": "dist/index.js",
@@ -43,7 +43,6 @@
43
43
  "dependencies": {
44
44
  "@super-protocol/eslint-config-typescript": "2.0.1",
45
45
  "asn1-tree": "^0.1.1",
46
- "msgpack5": "^6.0.2",
47
46
  "node-forge": "^1.3.1",
48
47
  "p-queue": "^6.6.2",
49
48
  "@sinclair/typebox": "0.33.17"
@@ -57,7 +56,6 @@
57
56
  "@peculiar/x509": "^1.9.3",
58
57
  "@types/jest": "^27.5.2",
59
58
  "@types/lodash": "^4.17.5",
60
- "@types/msgpack5": "^3.4.6",
61
59
  "@types/node": "^17.0.0",
62
60
  "@types/node-forge": "^1.3.1",
63
61
  "jest": "^29.7.0",
@@ -1,31 +0,0 @@
1
- syntax = "proto3";
2
-
3
- enum SevSNPCertType {
4
- ARK = 0;
5
- ASK = 1;
6
- VCEK = 2;
7
- }
8
-
9
- enum SevSnpCertificateFormat {
10
- PEM = 0;
11
- DER = 1;
12
- }
13
-
14
- message SnpCert {
15
- SevSNPCertType type = 1;
16
- bytes cert = 2;
17
- SevSnpCertificateFormat format = 3;
18
- }
19
-
20
- message SNPReport {
21
- bytes rawReport = 1;
22
- uint32 cpuSig = 2;
23
- uint32 cores = 3;
24
- bytes cmdLineHash = 4;
25
- string build = 5;
26
- }
27
-
28
- message SNPReportWithChain {
29
- SNPReport snpReport = 1;
30
- repeated SnpCert certs = 2;
31
- }
@@ -1,11 +0,0 @@
1
- syntax = "proto3";
2
-
3
- message Compression {
4
- enum TYPE {
5
- Uncompressed = 0;
6
- GZIP = 1;
7
- }
8
-
9
- TYPE type = 1;
10
- bytes data = 2;
11
- }
@@ -1,6 +0,0 @@
1
- syntax = "proto3";
2
-
3
- message Hash {
4
- string algo = 1;
5
- bytes hash = 2;
6
- }
@@ -1,21 +0,0 @@
1
- syntax = "proto3";
2
-
3
- import "Hash.proto";
4
-
5
- message OrderReportProto {
6
- repeated bytes certificates = 1;
7
- WorkloadInfo workloadInfo = 2;
8
- }
9
-
10
- message WorkloadInfo {
11
- repeated RuntimeInfo runtimeInfo = 1;
12
- int64 created = 2;
13
- }
14
-
15
- message RuntimeInfo {
16
- string type = 1;
17
- int64 size = 2;
18
- Hash hash = 3;
19
- optional Hash signatureKeyHash = 4;
20
- optional Hash argsHash = 5;
21
- }
package/dto/src/TRI.proto DELETED
@@ -1,22 +0,0 @@
1
- syntax = "proto3";
2
-
3
- import "Hash.proto";
4
-
5
- message Encryption {
6
- string algo = 1;
7
- optional bytes key = 2;
8
- optional string cipher = 3;
9
- optional bytes ciphertext = 4;
10
- optional bytes iv = 6;
11
- optional bytes mac = 7;
12
- string encoding = 8;
13
- }
14
-
15
- message TRI {
16
- repeated Hash solutionHashes = 1;
17
- bytes mrenclave = 2;
18
- string args = 3;
19
- Encryption encryption = 4;
20
- bytes mrsigner = 5;
21
- repeated Hash imageHashes = 6;
22
- }
@@ -1,46 +0,0 @@
1
- syntax = "proto3";
2
-
3
- message TeeDeviceInfo {
4
- CpuInfo cpu = 1;
5
- MemoryInfo memory = 2;
6
- DiskInfo disk = 3;
7
- GpuInfo gpu = 4;
8
- }
9
-
10
- message CpuInfo {
11
- string vendor_id = 1;
12
- int32 cpu_family = 2;
13
- int32 model = 3;
14
- string model_name = 4;
15
- int32 total_physical_cores = 5;
16
- int32 total_logical_cores = 6;
17
- int32 base_freq = 7;
18
- int32 max_freq = 8;
19
- }
20
-
21
- message MemoryInfo {
22
- string type = 1;
23
- int64 size = 2;
24
- }
25
-
26
- message DiskInfo {
27
- string type = 1;
28
- int64 size = 2;
29
- }
30
-
31
- message GpuInfo {
32
- string type = 1;
33
- int32 count = 2;
34
- int64 memory_size = 3;
35
- }
36
-
37
- message NvtrustGPUInfo {
38
- string model = 1;
39
- string driverVersion = 2;
40
- string vbios = 3;
41
- bool dbgStat = 4;
42
- }
43
-
44
- message NvtrustGPUList {
45
- repeated NvtrustGPUInfo gpus = 1;
46
- }