@premai/reticle 0.3.1 → 0.4.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/reticle_bg.js CHANGED
@@ -68,6 +68,56 @@ export class AttestResult {
68
68
  }
69
69
  if (Symbol.dispose) AttestResult.prototype[Symbol.dispose] = AttestResult.prototype.free;
70
70
 
71
+ /**
72
+ * A parsed certificate revocation list
73
+ */
74
+ export class CRL {
75
+ static __wrap(ptr) {
76
+ ptr = ptr >>> 0;
77
+ const obj = Object.create(CRL.prototype);
78
+ obj.__wbg_ptr = ptr;
79
+ CRLFinalization.register(obj, obj.__wbg_ptr, obj);
80
+ return obj;
81
+ }
82
+ __destroy_into_raw() {
83
+ const ptr = this.__wbg_ptr;
84
+ this.__wbg_ptr = 0;
85
+ CRLFinalization.unregister(this);
86
+ return ptr;
87
+ }
88
+ free() {
89
+ const ptr = this.__destroy_into_raw();
90
+ wasm.__wbg_crl_free(ptr, 0);
91
+ }
92
+ /**
93
+ * Passes if the certificates are not in the certificate revocation list
94
+ * Throws `AttestationError` on fail
95
+ * @param {VerifiedChain} chain
96
+ */
97
+ check_chain(chain) {
98
+ _assertClass(chain, VerifiedChain);
99
+ const ret = wasm.crl_check_chain(this.__wbg_ptr, chain.__wbg_ptr);
100
+ if (ret[1]) {
101
+ throw takeFromExternrefTable0(ret[0]);
102
+ }
103
+ }
104
+ /**
105
+ * Parses a certificate revocation list from DER format binary data
106
+ * @param {Uint8Array} list
107
+ * @returns {CRL}
108
+ */
109
+ static from_der(list) {
110
+ const ptr0 = passArray8ToWasm0(list, wasm.__wbindgen_malloc);
111
+ const len0 = WASM_VECTOR_LEN;
112
+ const ret = wasm.crl_from_der(ptr0, len0);
113
+ if (ret[2]) {
114
+ throw takeFromExternrefTable0(ret[1]);
115
+ }
116
+ return CRL.__wrap(ret[0]);
117
+ }
118
+ }
119
+ if (Symbol.dispose) CRL.prototype[Symbol.dispose] = CRL.prototype.free;
120
+
71
121
  export class Client {
72
122
  static __wrap(ptr) {
73
123
  ptr = ptr >>> 0;
@@ -91,72 +141,42 @@ export class Client {
91
141
  * - Gathers modules to attest from attestation server
92
142
  * - Iterates through each module and performs end-to-end attestation
93
143
  * - Returns the list of attested modules
94
- * @param {QueryParams | null} [query]
95
144
  * @returns {Promise<AttestResult>}
96
145
  */
97
- attest(query) {
98
- let ptr0 = 0;
99
- if (!isLikeNone(query)) {
100
- _assertClass(query, QueryParams);
101
- ptr0 = query.__destroy_into_raw();
102
- }
103
- const ret = wasm.client_attest(this.__wbg_ptr, ptr0);
146
+ attest() {
147
+ const ret = wasm.client_attest(this.__wbg_ptr);
104
148
  return ret;
105
149
  }
106
150
  /**
107
151
  * Completes end-to-end nvidia attestation. Generates nonce and validates claims all in one
108
- * @param {QueryParams | null} [query]
109
152
  * @returns {Promise<ResponseHeaders>}
110
153
  */
111
- attest_nvidia(query) {
112
- let ptr0 = 0;
113
- if (!isLikeNone(query)) {
114
- _assertClass(query, QueryParams);
115
- ptr0 = query.__destroy_into_raw();
116
- }
117
- const ret = wasm.client_attest_nvidia(this.__wbg_ptr, ptr0);
154
+ attest_nvidia() {
155
+ const ret = wasm.client_attest_nvidia(this.__wbg_ptr);
118
156
  return ret;
119
157
  }
120
158
  /**
121
159
  * Performs end-to-end sev-snp attestation. Generates nonce and validates claims all in one
122
- * @param {QueryParams | null} [query]
123
160
  * @returns {Promise<void>}
124
161
  */
125
- attest_sev(query) {
126
- let ptr0 = 0;
127
- if (!isLikeNone(query)) {
128
- _assertClass(query, QueryParams);
129
- ptr0 = query.__destroy_into_raw();
130
- }
131
- const ret = wasm.client_attest_sev(this.__wbg_ptr, ptr0);
162
+ attest_sev() {
163
+ const ret = wasm.client_attest_sev(this.__wbg_ptr);
132
164
  return ret;
133
165
  }
134
166
  /**
135
167
  * Performs end-to-end tdx attestation. Generates nonce and validates claims all in one
136
- * @param {QueryParams | null} [query]
137
168
  * @returns {Promise<void>}
138
169
  */
139
- attest_tdx(query) {
140
- let ptr0 = 0;
141
- if (!isLikeNone(query)) {
142
- _assertClass(query, QueryParams);
143
- ptr0 = query.__destroy_into_raw();
144
- }
145
- const ret = wasm.client_attest_tdx(this.__wbg_ptr, ptr0);
170
+ attest_tdx() {
171
+ const ret = wasm.client_attest_tdx(this.__wbg_ptr);
146
172
  return ret;
147
173
  }
148
174
  /**
149
175
  * Gather available attestable modules from remote attestation endpoint
150
- * @param {QueryParams | null} [query]
151
176
  * @returns {Promise<Modules>}
152
177
  */
153
- request_modules(query) {
154
- let ptr0 = 0;
155
- if (!isLikeNone(query)) {
156
- _assertClass(query, QueryParams);
157
- ptr0 = query.__destroy_into_raw();
158
- }
159
- const ret = wasm.client_request_modules(this.__wbg_ptr, ptr0);
178
+ request_modules() {
179
+ const ret = wasm.client_request_modules(this.__wbg_ptr);
160
180
  return ret;
161
181
  }
162
182
  /**
@@ -167,13 +187,11 @@ export class Client {
167
187
  * or measurement checks on the attestation. If you want to perform end-to-end attestation
168
188
  * please refer to [`Self::attest_nvidia`]
169
189
  * @param {NvidiaNonce} nonce
170
- * @param {QueryParams} query
171
190
  * @returns {Promise<NvidiaAttestResult>}
172
191
  */
173
- request_nvidia(nonce, query) {
192
+ request_nvidia(nonce) {
174
193
  _assertClass(nonce, NvidiaNonce);
175
- _assertClass(query, QueryParams);
176
- const ret = wasm.client_request_nvidia(this.__wbg_ptr, nonce.__wbg_ptr, query.__wbg_ptr);
194
+ const ret = wasm.client_request_nvidia(this.__wbg_ptr, nonce.__wbg_ptr);
177
195
  return ret;
178
196
  }
179
197
  /**
@@ -184,13 +202,11 @@ export class Client {
184
202
  * or measurement checks on the attestation. If you want to perform end-to-end attestation
185
203
  * please refer to [`Self::attest_sev`]
186
204
  * @param {SevNonce} nonce
187
- * @param {QueryParams} query
188
205
  * @returns {Promise<ParsedAttestation>}
189
206
  */
190
- request_sev(nonce, query) {
207
+ request_sev(nonce) {
191
208
  _assertClass(nonce, SevNonce);
192
- _assertClass(query, QueryParams);
193
- const ret = wasm.client_request_sev(this.__wbg_ptr, nonce.__wbg_ptr, query.__wbg_ptr);
209
+ const ret = wasm.client_request_sev(this.__wbg_ptr, nonce.__wbg_ptr);
194
210
  return ret;
195
211
  }
196
212
  /**
@@ -201,15 +217,21 @@ export class Client {
201
217
  * or measurement checks on the attestation. If you want to perform end-to-end attestation
202
218
  * please refer to [`Self::attest_tdx`]
203
219
  * @param {TdxNonce} nonce
204
- * @param {QueryParams} query
205
220
  * @returns {Promise<TdxQuote>}
206
221
  */
207
- request_tdx(nonce, query) {
222
+ request_tdx(nonce) {
208
223
  _assertClass(nonce, TdxNonce);
209
- _assertClass(query, QueryParams);
210
- const ret = wasm.client_request_tdx(this.__wbg_ptr, nonce.__wbg_ptr, query.__wbg_ptr);
224
+ const ret = wasm.client_request_tdx(this.__wbg_ptr, nonce.__wbg_ptr);
211
225
  return ret;
212
226
  }
227
+ /**
228
+ * @param {QueryParams} query_params
229
+ */
230
+ set_query(query_params) {
231
+ _assertClass(query_params, QueryParams);
232
+ var ptr0 = query_params.__destroy_into_raw();
233
+ wasm.client_set_query(this.__wbg_ptr, ptr0);
234
+ }
213
235
  }
214
236
  if (Symbol.dispose) Client.prototype[Symbol.dispose] = Client.prototype.free;
215
237
 
@@ -333,6 +355,148 @@ export const CpuModule = Object.freeze({
333
355
  Tdx: 1, "1": "Tdx",
334
356
  });
335
357
 
358
+ export class DecodedClaims {
359
+ static __wrap(ptr) {
360
+ ptr = ptr >>> 0;
361
+ const obj = Object.create(DecodedClaims.prototype);
362
+ obj.__wbg_ptr = ptr;
363
+ DecodedClaimsFinalization.register(obj, obj.__wbg_ptr, obj);
364
+ return obj;
365
+ }
366
+ __destroy_into_raw() {
367
+ const ptr = this.__wbg_ptr;
368
+ this.__wbg_ptr = 0;
369
+ DecodedClaimsFinalization.unregister(this);
370
+ return ptr;
371
+ }
372
+ free() {
373
+ const ptr = this.__destroy_into_raw();
374
+ wasm.__wbg_decodedclaims_free(ptr, 0);
375
+ }
376
+ }
377
+ if (Symbol.dispose) DecodedClaims.prototype[Symbol.dispose] = DecodedClaims.prototype.free;
378
+
379
+ export class EATToken {
380
+ static __wrap(ptr) {
381
+ ptr = ptr >>> 0;
382
+ const obj = Object.create(EATToken.prototype);
383
+ obj.__wbg_ptr = ptr;
384
+ EATTokenFinalization.register(obj, obj.__wbg_ptr, obj);
385
+ return obj;
386
+ }
387
+ __destroy_into_raw() {
388
+ const ptr = this.__wbg_ptr;
389
+ this.__wbg_ptr = 0;
390
+ EATTokenFinalization.unregister(this);
391
+ return ptr;
392
+ }
393
+ free() {
394
+ const ptr = this.__destroy_into_raw();
395
+ wasm.__wbg_eattoken_free(ptr, 0);
396
+ }
397
+ /**
398
+ * @param {string} from
399
+ * @returns {EATToken}
400
+ */
401
+ static parse(from) {
402
+ const ptr0 = passStringToWasm0(from, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
403
+ const len0 = WASM_VECTOR_LEN;
404
+ const ret = wasm.eattoken_parse(ptr0, len0);
405
+ if (ret[2]) {
406
+ throw takeFromExternrefTable0(ret[1]);
407
+ }
408
+ return EATToken.__wrap(ret[0]);
409
+ }
410
+ /**
411
+ * @param {KeyChain} keys
412
+ * @param {NvidiaNonce} nonce
413
+ * @returns {DecodedClaims}
414
+ */
415
+ verify(keys, nonce) {
416
+ const ptr = this.__destroy_into_raw();
417
+ _assertClass(keys, KeyChain);
418
+ _assertClass(nonce, NvidiaNonce);
419
+ const ret = wasm.eattoken_verify(ptr, keys.__wbg_ptr, nonce.__wbg_ptr);
420
+ if (ret[2]) {
421
+ throw takeFromExternrefTable0(ret[1]);
422
+ }
423
+ return DecodedClaims.__wrap(ret[0]);
424
+ }
425
+ }
426
+ if (Symbol.dispose) EATToken.prototype[Symbol.dispose] = EATToken.prototype.free;
427
+
428
+ export class ExportPem {
429
+ static __wrap(ptr) {
430
+ ptr = ptr >>> 0;
431
+ const obj = Object.create(ExportPem.prototype);
432
+ obj.__wbg_ptr = ptr;
433
+ ExportPemFinalization.register(obj, obj.__wbg_ptr, obj);
434
+ return obj;
435
+ }
436
+ __destroy_into_raw() {
437
+ const ptr = this.__wbg_ptr;
438
+ this.__wbg_ptr = 0;
439
+ ExportPemFinalization.unregister(this);
440
+ return ptr;
441
+ }
442
+ free() {
443
+ const ptr = this.__destroy_into_raw();
444
+ wasm.__wbg_exportpem_free(ptr, 0);
445
+ }
446
+ /**
447
+ * @returns {Uint8Array}
448
+ */
449
+ get ark() {
450
+ const ret = wasm.__wbg_get_exportpem_ark(this.__wbg_ptr);
451
+ var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
452
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
453
+ return v1;
454
+ }
455
+ /**
456
+ * @returns {Uint8Array}
457
+ */
458
+ get ask() {
459
+ const ret = wasm.__wbg_get_exportpem_ask(this.__wbg_ptr);
460
+ var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
461
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
462
+ return v1;
463
+ }
464
+ /**
465
+ * @returns {Uint8Array}
466
+ */
467
+ get vek() {
468
+ const ret = wasm.__wbg_get_exportpem_vek(this.__wbg_ptr);
469
+ var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
470
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
471
+ return v1;
472
+ }
473
+ /**
474
+ * @param {Uint8Array} arg0
475
+ */
476
+ set ark(arg0) {
477
+ const ptr0 = passArray8ToWasm0(arg0, wasm.__wbindgen_malloc);
478
+ const len0 = WASM_VECTOR_LEN;
479
+ wasm.__wbg_set_exportpem_ark(this.__wbg_ptr, ptr0, len0);
480
+ }
481
+ /**
482
+ * @param {Uint8Array} arg0
483
+ */
484
+ set ask(arg0) {
485
+ const ptr0 = passArray8ToWasm0(arg0, wasm.__wbindgen_malloc);
486
+ const len0 = WASM_VECTOR_LEN;
487
+ wasm.__wbg_set_exportpem_ask(this.__wbg_ptr, ptr0, len0);
488
+ }
489
+ /**
490
+ * @param {Uint8Array} arg0
491
+ */
492
+ set vek(arg0) {
493
+ const ptr0 = passArray8ToWasm0(arg0, wasm.__wbindgen_malloc);
494
+ const len0 = WASM_VECTOR_LEN;
495
+ wasm.__wbg_set_exportpem_vek(this.__wbg_ptr, ptr0, len0);
496
+ }
497
+ }
498
+ if (Symbol.dispose) ExportPem.prototype[Symbol.dispose] = ExportPem.prototype.free;
499
+
336
500
  export class GatewayError {
337
501
  static __wrap(ptr) {
338
502
  ptr = ptr >>> 0;
@@ -384,6 +548,74 @@ export const GpuModule = Object.freeze({
384
548
  Nvidia: 0, "0": "Nvidia",
385
549
  });
386
550
 
551
+ export class Kds {
552
+ __destroy_into_raw() {
553
+ const ptr = this.__wbg_ptr;
554
+ this.__wbg_ptr = 0;
555
+ KdsFinalization.unregister(this);
556
+ return ptr;
557
+ }
558
+ free() {
559
+ const ptr = this.__destroy_into_raw();
560
+ wasm.__wbg_kds_free(ptr, 0);
561
+ }
562
+ /**
563
+ * @param {ParsedAttestation} attestation
564
+ * @returns {Promise<VerifiedChain>}
565
+ */
566
+ fetch_certificates(attestation) {
567
+ _assertClass(attestation, ParsedAttestation);
568
+ const ret = wasm.kds_fetch_certificates(this.__wbg_ptr, attestation.__wbg_ptr);
569
+ return ret;
570
+ }
571
+ /**
572
+ * Fetches the certificate revocation list from AMD's KDS
573
+ * @param {ParsedAttestation} attestation
574
+ * @returns {Promise<CRL>}
575
+ */
576
+ fetch_crl(attestation) {
577
+ _assertClass(attestation, ParsedAttestation);
578
+ const ret = wasm.kds_fetch_crl(this.__wbg_ptr, attestation.__wbg_ptr);
579
+ return ret;
580
+ }
581
+ /**
582
+ * @param {string} cache_url
583
+ */
584
+ constructor(cache_url) {
585
+ const ptr0 = passStringToWasm0(cache_url, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
586
+ const len0 = WASM_VECTOR_LEN;
587
+ const ret = wasm.kds_new(ptr0, len0);
588
+ if (ret[2]) {
589
+ throw takeFromExternrefTable0(ret[1]);
590
+ }
591
+ this.__wbg_ptr = ret[0] >>> 0;
592
+ KdsFinalization.register(this, this.__wbg_ptr, this);
593
+ return this;
594
+ }
595
+ }
596
+ if (Symbol.dispose) Kds.prototype[Symbol.dispose] = Kds.prototype.free;
597
+
598
+ export class KeyChain {
599
+ static __wrap(ptr) {
600
+ ptr = ptr >>> 0;
601
+ const obj = Object.create(KeyChain.prototype);
602
+ obj.__wbg_ptr = ptr;
603
+ KeyChainFinalization.register(obj, obj.__wbg_ptr, obj);
604
+ return obj;
605
+ }
606
+ __destroy_into_raw() {
607
+ const ptr = this.__wbg_ptr;
608
+ this.__wbg_ptr = 0;
609
+ KeyChainFinalization.unregister(this);
610
+ return ptr;
611
+ }
612
+ free() {
613
+ const ptr = this.__destroy_into_raw();
614
+ wasm.__wbg_keychain_free(ptr, 0);
615
+ }
616
+ }
617
+ if (Symbol.dispose) KeyChain.prototype[Symbol.dispose] = KeyChain.prototype.free;
618
+
387
619
  export class Modules {
388
620
  static __wrap(ptr) {
389
621
  ptr = ptr >>> 0;
@@ -447,205 +679,30 @@ export class NvidiaAttestResult {
447
679
  }
448
680
  if (Symbol.dispose) NvidiaAttestResult.prototype[Symbol.dispose] = NvidiaAttestResult.prototype.free;
449
681
 
450
- export class Pcs {
451
- __destroy_into_raw() {
452
- const ptr = this.__wbg_ptr;
453
- this.__wbg_ptr = 0;
454
- PcsFinalization.unregister(this);
455
- return ptr;
456
- }
457
- free() {
458
- const ptr = this.__destroy_into_raw();
459
- wasm.__wbg_pcs_free(ptr, 0);
460
- }
461
- /**
462
- * @param {TdxQuote} quote
463
- * @returns {Promise<Collateral>}
464
- */
465
- fetch_collateral(quote) {
466
- _assertClass(quote, TdxQuote);
467
- const ret = wasm.pcs_fetch_collateral(this.__wbg_ptr, quote.__wbg_ptr);
468
- return ret;
469
- }
470
- /**
471
- * @param {string} base_url
472
- */
473
- constructor(base_url) {
474
- const ptr0 = passStringToWasm0(base_url, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
475
- const len0 = WASM_VECTOR_LEN;
476
- const ret = wasm.pcs_new(ptr0, len0);
477
- if (ret[2]) {
478
- throw takeFromExternrefTable0(ret[1]);
479
- }
480
- this.__wbg_ptr = ret[0] >>> 0;
481
- PcsFinalization.register(this, this.__wbg_ptr, this);
482
- return this;
483
- }
484
- }
485
- if (Symbol.dispose) Pcs.prototype[Symbol.dispose] = Pcs.prototype.free;
486
-
487
- /**
488
- * Generic per-request query parameters.
489
- *
490
- * The `nonce` key is reserved and will be rejected.
491
- */
492
- export class QueryParams {
493
- static __wrap(ptr) {
494
- ptr = ptr >>> 0;
495
- const obj = Object.create(QueryParams.prototype);
496
- obj.__wbg_ptr = ptr;
497
- QueryParamsFinalization.register(obj, obj.__wbg_ptr, obj);
498
- return obj;
499
- }
500
- __destroy_into_raw() {
501
- const ptr = this.__wbg_ptr;
502
- this.__wbg_ptr = 0;
503
- QueryParamsFinalization.unregister(this);
504
- return ptr;
505
- }
506
- free() {
507
- const ptr = this.__destroy_into_raw();
508
- wasm.__wbg_queryparams_free(ptr, 0);
509
- }
510
- constructor() {
511
- const ret = wasm.queryparams_new();
512
- this.__wbg_ptr = ret >>> 0;
513
- QueryParamsFinalization.register(this, this.__wbg_ptr, this);
514
- return this;
515
- }
516
- /**
517
- * Appends a query parameter.
518
- *
519
- * Reserved keywords for specific queries will get overwritten
520
- * @param {string} key
521
- * @param {string} value
522
- * @returns {QueryParams}
523
- */
524
- with(key, value) {
525
- const ptr = this.__destroy_into_raw();
526
- const ptr0 = passStringToWasm0(key, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
527
- const len0 = WASM_VECTOR_LEN;
528
- const ptr1 = passStringToWasm0(value, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
529
- const len1 = WASM_VECTOR_LEN;
530
- const ret = wasm.queryparams_with(ptr, ptr0, len0, ptr1, len1);
531
- return QueryParams.__wrap(ret);
532
- }
533
- }
534
- if (Symbol.dispose) QueryParams.prototype[Symbol.dispose] = QueryParams.prototype.free;
535
-
536
- export class QuoteVerifier {
537
- __destroy_into_raw() {
538
- const ptr = this.__wbg_ptr;
539
- this.__wbg_ptr = 0;
540
- QuoteVerifierFinalization.unregister(this);
541
- return ptr;
542
- }
543
- free() {
544
- const ptr = this.__destroy_into_raw();
545
- wasm.__wbg_quoteverifier_free(ptr, 0);
546
- }
547
- /**
548
- * @param {Collateral} collateral
549
- * @param {TdxQuote} quote
550
- */
551
- constructor(collateral, quote) {
552
- _assertClass(collateral, Collateral);
553
- var ptr0 = collateral.__destroy_into_raw();
554
- _assertClass(quote, TdxQuote);
555
- var ptr1 = quote.__destroy_into_raw();
556
- const ret = wasm.quoteverifier_new(ptr0, ptr1);
557
- this.__wbg_ptr = ret >>> 0;
558
- QuoteVerifierFinalization.register(this, this.__wbg_ptr, this);
559
- return this;
560
- }
561
- /**
562
- * @param {TdxNonce} nonce
563
- */
564
- verify(nonce) {
565
- _assertClass(nonce, TdxNonce);
566
- const ret = wasm.quoteverifier_verify(this.__wbg_ptr, nonce.__wbg_ptr);
567
- if (ret[1]) {
568
- throw takeFromExternrefTable0(ret[0]);
569
- }
570
- }
571
- }
572
- if (Symbol.dispose) QuoteVerifier.prototype[Symbol.dispose] = QuoteVerifier.prototype.free;
573
-
574
- export class ResponseHeaders {
682
+ export class NvidiaNonce {
575
683
  static __wrap(ptr) {
576
684
  ptr = ptr >>> 0;
577
- const obj = Object.create(ResponseHeaders.prototype);
685
+ const obj = Object.create(NvidiaNonce.prototype);
578
686
  obj.__wbg_ptr = ptr;
579
- ResponseHeadersFinalization.register(obj, obj.__wbg_ptr, obj);
687
+ NvidiaNonceFinalization.register(obj, obj.__wbg_ptr, obj);
580
688
  return obj;
581
689
  }
582
690
  __destroy_into_raw() {
583
691
  const ptr = this.__wbg_ptr;
584
692
  this.__wbg_ptr = 0;
585
- ResponseHeadersFinalization.unregister(this);
693
+ NvidiaNonceFinalization.unregister(this);
586
694
  return ptr;
587
695
  }
588
696
  free() {
589
697
  const ptr = this.__destroy_into_raw();
590
- wasm.__wbg_responseheaders_free(ptr, 0);
591
- }
592
- /**
593
- * @param {string} name
594
- * @returns {string | undefined}
595
- */
596
- get(name) {
597
- const ptr0 = passStringToWasm0(name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
598
- const len0 = WASM_VECTOR_LEN;
599
- const ret = wasm.responseheaders_get(this.__wbg_ptr, ptr0, len0);
600
- let v2;
601
- if (ret[0] !== 0) {
602
- v2 = getStringFromWasm0(ret[0], ret[1]).slice();
603
- wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
604
- }
605
- return v2;
698
+ wasm.__wbg_nvidianonce_free(ptr, 0);
606
699
  }
607
700
  /**
608
- * @returns {string[]}
701
+ * @returns {NvidiaNonce}
609
702
  */
610
- keys() {
611
- const ret = wasm.responseheaders_keys(this.__wbg_ptr);
612
- var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();
613
- wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
614
- return v1;
615
- }
616
- }
617
- if (Symbol.dispose) ResponseHeaders.prototype[Symbol.dispose] = ResponseHeaders.prototype.free;
618
-
619
- export class TcbLevels {
620
- __destroy_into_raw() {
621
- const ptr = this.__wbg_ptr;
622
- this.__wbg_ptr = 0;
623
- TcbLevelsFinalization.unregister(this);
624
- return ptr;
625
- }
626
- free() {
627
- const ptr = this.__destroy_into_raw();
628
- wasm.__wbg_tcblevels_free(ptr, 0);
629
- }
630
- }
631
- if (Symbol.dispose) TcbLevels.prototype[Symbol.dispose] = TcbLevels.prototype.free;
632
-
633
- export class TdxNonce {
634
- __destroy_into_raw() {
635
- const ptr = this.__wbg_ptr;
636
- this.__wbg_ptr = 0;
637
- TdxNonceFinalization.unregister(this);
638
- return ptr;
639
- }
640
- free() {
641
- const ptr = this.__destroy_into_raw();
642
- wasm.__wbg_tdxnonce_free(ptr, 0);
643
- }
644
- constructor() {
645
- const ret = wasm.tdxnonce_generate();
646
- this.__wbg_ptr = ret >>> 0;
647
- TdxNonceFinalization.register(this, this.__wbg_ptr, this);
648
- return this;
703
+ static generate() {
704
+ const ret = wasm.nvidianonce_generate();
705
+ return NvidiaNonce.__wrap(ret);
649
706
  }
650
707
  /**
651
708
  * @returns {string}
@@ -654,7 +711,7 @@ export class TdxNonce {
654
711
  let deferred1_0;
655
712
  let deferred1_1;
656
713
  try {
657
- const ret = wasm.tdxnonce_to_hex(this.__wbg_ptr);
714
+ const ret = wasm.nvidianonce_to_hex(this.__wbg_ptr);
658
715
  deferred1_0 = ret[0];
659
716
  deferred1_1 = ret[1];
660
717
  return getStringFromWasm0(ret[0], ret[1]);
@@ -663,429 +720,244 @@ export class TdxNonce {
663
720
  }
664
721
  }
665
722
  }
666
- if (Symbol.dispose) TdxNonce.prototype[Symbol.dispose] = TdxNonce.prototype.free;
723
+ if (Symbol.dispose) NvidiaNonce.prototype[Symbol.dispose] = NvidiaNonce.prototype.free;
667
724
 
668
- export class TdxQuote {
725
+ /**
726
+ * Represents a parsed attestation report with some already
727
+ * parsed commonly accessed fields
728
+ */
729
+ export class ParsedAttestation {
669
730
  static __wrap(ptr) {
670
731
  ptr = ptr >>> 0;
671
- const obj = Object.create(TdxQuote.prototype);
732
+ const obj = Object.create(ParsedAttestation.prototype);
672
733
  obj.__wbg_ptr = ptr;
673
- TdxQuoteFinalization.register(obj, obj.__wbg_ptr, obj);
734
+ ParsedAttestationFinalization.register(obj, obj.__wbg_ptr, obj);
674
735
  return obj;
675
736
  }
676
737
  __destroy_into_raw() {
677
738
  const ptr = this.__wbg_ptr;
678
739
  this.__wbg_ptr = 0;
679
- TdxQuoteFinalization.unregister(this);
740
+ ParsedAttestationFinalization.unregister(this);
680
741
  return ptr;
681
742
  }
682
743
  free() {
683
744
  const ptr = this.__destroy_into_raw();
684
- wasm.__wbg_tdxquote_free(ptr, 0);
745
+ wasm.__wbg_parsedattestation_free(ptr, 0);
685
746
  }
686
747
  /**
687
- * Attempts to parse a quote from DCAP bytes.
688
- * @param {Uint8Array} quote
689
- * @returns {TdxQuote}
748
+ * @returns {number}
690
749
  */
691
- static from_bytes(quote) {
692
- const ptr0 = passArray8ToWasm0(quote, wasm.__wbindgen_malloc);
693
- const len0 = WASM_VECTOR_LEN;
694
- const ret = wasm.tdxquote_from_bytes(ptr0, len0);
695
- if (ret[2]) {
696
- throw takeFromExternrefTable0(ret[1]);
697
- }
698
- return TdxQuote.__wrap(ret[0]);
699
- }
700
- }
701
- if (Symbol.dispose) TdxQuote.prototype[Symbol.dispose] = TdxQuote.prototype.free;
702
-
703
- class DecodedClaims {
704
- static __wrap(ptr) {
705
- ptr = ptr >>> 0;
706
- const obj = Object.create(DecodedClaims.prototype);
707
- obj.__wbg_ptr = ptr;
708
- DecodedClaimsFinalization.register(obj, obj.__wbg_ptr, obj);
709
- return obj;
710
- }
711
- __destroy_into_raw() {
712
- const ptr = this.__wbg_ptr;
713
- this.__wbg_ptr = 0;
714
- DecodedClaimsFinalization.unregister(this);
715
- return ptr;
716
- }
717
- free() {
718
- const ptr = this.__destroy_into_raw();
719
- wasm.__wbg_nvidia__decodedclaims_free(ptr, 0);
720
- }
721
- }
722
- if (Symbol.dispose) DecodedClaims.prototype[Symbol.dispose] = DecodedClaims.prototype.free;
723
-
724
- class EATToken {
725
- static __wrap(ptr) {
726
- ptr = ptr >>> 0;
727
- const obj = Object.create(EATToken.prototype);
728
- obj.__wbg_ptr = ptr;
729
- EATTokenFinalization.register(obj, obj.__wbg_ptr, obj);
730
- return obj;
731
- }
732
- __destroy_into_raw() {
733
- const ptr = this.__wbg_ptr;
734
- this.__wbg_ptr = 0;
735
- EATTokenFinalization.unregister(this);
736
- return ptr;
737
- }
738
- free() {
739
- const ptr = this.__destroy_into_raw();
740
- wasm.__wbg_nvidia__eattoken_free(ptr, 0);
750
+ cpu_fam_id() {
751
+ const ret = wasm.parsedattestation_cpu_fam_id(this.__wbg_ptr);
752
+ return ret;
741
753
  }
742
754
  /**
743
- * @param {string} from
744
- * @returns {EATToken}
755
+ * @returns {number}
745
756
  */
746
- static parse(from) {
747
- const ptr0 = passStringToWasm0(from, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
748
- const len0 = WASM_VECTOR_LEN;
749
- const ret = wasm.eattoken_parse(ptr0, len0);
750
- if (ret[2]) {
751
- throw takeFromExternrefTable0(ret[1]);
752
- }
753
- return EATToken.__wrap(ret[0]);
757
+ cpu_mod_id() {
758
+ const ret = wasm.parsedattestation_cpu_mod_id(this.__wbg_ptr);
759
+ return ret;
754
760
  }
755
761
  /**
756
- * @param {KeyChain} keys
757
- * @param {NvidiaNonce} nonce
758
- * @returns {DecodedClaims}
762
+ * Parses and constructs a new attestation report from a stream of binary data
763
+ * @param {Uint8Array} bytes
764
+ * @returns {ParsedAttestation}
759
765
  */
760
- verify(keys, nonce) {
761
- const ptr = this.__destroy_into_raw();
762
- _assertClass(keys, KeyChain);
763
- _assertClass(nonce, NvidiaNonce);
764
- const ret = wasm.eattoken_verify(ptr, keys.__wbg_ptr, nonce.__wbg_ptr);
766
+ static new(bytes) {
767
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
768
+ const len0 = WASM_VECTOR_LEN;
769
+ const ret = wasm.parsedattestation_new(ptr0, len0);
765
770
  if (ret[2]) {
766
771
  throw takeFromExternrefTable0(ret[1]);
767
772
  }
768
- return DecodedClaims.__wrap(ret[0]);
769
- }
770
- }
771
- if (Symbol.dispose) EATToken.prototype[Symbol.dispose] = EATToken.prototype.free;
772
-
773
- class KeyChain {
774
- static __wrap(ptr) {
775
- ptr = ptr >>> 0;
776
- const obj = Object.create(KeyChain.prototype);
777
- obj.__wbg_ptr = ptr;
778
- KeyChainFinalization.register(obj, obj.__wbg_ptr, obj);
779
- return obj;
780
- }
781
- __destroy_into_raw() {
782
- const ptr = this.__wbg_ptr;
783
- this.__wbg_ptr = 0;
784
- KeyChainFinalization.unregister(this);
785
- return ptr;
786
- }
787
- free() {
788
- const ptr = this.__destroy_into_raw();
789
- wasm.__wbg_nvidia__keychain_free(ptr, 0);
790
- }
791
- }
792
- if (Symbol.dispose) KeyChain.prototype[Symbol.dispose] = KeyChain.prototype.free;
793
-
794
- class NvidiaNonce {
795
- static __wrap(ptr) {
796
- ptr = ptr >>> 0;
797
- const obj = Object.create(NvidiaNonce.prototype);
798
- obj.__wbg_ptr = ptr;
799
- NvidiaNonceFinalization.register(obj, obj.__wbg_ptr, obj);
800
- return obj;
801
- }
802
- __destroy_into_raw() {
803
- const ptr = this.__wbg_ptr;
804
- this.__wbg_ptr = 0;
805
- NvidiaNonceFinalization.unregister(this);
806
- return ptr;
807
- }
808
- free() {
809
- const ptr = this.__destroy_into_raw();
810
- wasm.__wbg_nvidia__nvidianonce_free(ptr, 0);
811
- }
812
- /**
813
- * @returns {NvidiaNonce}
814
- */
815
- static generate() {
816
- const ret = wasm.nvidianonce_generate();
817
- return NvidiaNonce.__wrap(ret);
773
+ return ParsedAttestation.__wrap(ret[0]);
818
774
  }
819
775
  /**
820
- * @returns {string}
776
+ * Verifies the attestation report against a certificate chain
777
+ * @param {VerifiedChain} chain
778
+ * @param {SevNonce} nonce
821
779
  */
822
- to_hex() {
823
- let deferred1_0;
824
- let deferred1_1;
825
- try {
826
- const ret = wasm.nvidianonce_to_hex(this.__wbg_ptr);
827
- deferred1_0 = ret[0];
828
- deferred1_1 = ret[1];
829
- return getStringFromWasm0(ret[0], ret[1]);
830
- } finally {
831
- wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
780
+ verify(chain, nonce) {
781
+ _assertClass(chain, VerifiedChain);
782
+ _assertClass(nonce, SevNonce);
783
+ const ret = wasm.parsedattestation_verify(this.__wbg_ptr, chain.__wbg_ptr, nonce.__wbg_ptr);
784
+ if (ret[1]) {
785
+ throw takeFromExternrefTable0(ret[0]);
832
786
  }
833
787
  }
834
788
  }
835
- if (Symbol.dispose) NvidiaNonce.prototype[Symbol.dispose] = NvidiaNonce.prototype.free;
836
-
837
- /**
838
- * Same as [`KeyChain:fetch_keychain`], put in for better wasm compatibility
839
- * @returns {Promise<KeyChain>}
840
- */
841
- function fetch_keychain() {
842
- const ret = wasm.nvidia__fetch_keychain();
843
- return ret;
844
- }
845
-
846
- export const nvidia = {};
847
- nvidia.DecodedClaims = DecodedClaims;
848
- nvidia.EATToken = EATToken;
849
- nvidia.KeyChain = KeyChain;
850
- nvidia.NvidiaNonce = NvidiaNonce;
851
- nvidia.fetch_keychain = fetch_keychain;
789
+ if (Symbol.dispose) ParsedAttestation.prototype[Symbol.dispose] = ParsedAttestation.prototype.free;
852
790
 
853
- /**
854
- * A parsed certificate revocation list
855
- */
856
- class CRL {
857
- static __wrap(ptr) {
858
- ptr = ptr >>> 0;
859
- const obj = Object.create(CRL.prototype);
860
- obj.__wbg_ptr = ptr;
861
- CRLFinalization.register(obj, obj.__wbg_ptr, obj);
862
- return obj;
863
- }
791
+ export class Pcs {
864
792
  __destroy_into_raw() {
865
793
  const ptr = this.__wbg_ptr;
866
794
  this.__wbg_ptr = 0;
867
- CRLFinalization.unregister(this);
795
+ PcsFinalization.unregister(this);
868
796
  return ptr;
869
797
  }
870
798
  free() {
871
799
  const ptr = this.__destroy_into_raw();
872
- wasm.__wbg_sev__crl_free(ptr, 0);
800
+ wasm.__wbg_pcs_free(ptr, 0);
873
801
  }
874
802
  /**
875
- * Passes if the certificates are not in the certificate revocation list
876
- * Throws `AttestationError` on fail
877
- * @param {VerifiedChain} chain
803
+ * @param {TdxQuote} quote
804
+ * @returns {Promise<Collateral>}
878
805
  */
879
- check_chain(chain) {
880
- _assertClass(chain, VerifiedChain);
881
- const ret = wasm.crl_check_chain(this.__wbg_ptr, chain.__wbg_ptr);
882
- if (ret[1]) {
883
- throw takeFromExternrefTable0(ret[0]);
884
- }
806
+ fetch_collateral(quote) {
807
+ _assertClass(quote, TdxQuote);
808
+ const ret = wasm.pcs_fetch_collateral(this.__wbg_ptr, quote.__wbg_ptr);
809
+ return ret;
885
810
  }
886
811
  /**
887
- * Parses a certificate revocation list from DER format binary data
888
- * @param {Uint8Array} list
889
- * @returns {CRL}
812
+ * @param {string} base_url
890
813
  */
891
- static from_der(list) {
892
- const ptr0 = passArray8ToWasm0(list, wasm.__wbindgen_malloc);
814
+ constructor(base_url) {
815
+ const ptr0 = passStringToWasm0(base_url, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
893
816
  const len0 = WASM_VECTOR_LEN;
894
- const ret = wasm.crl_from_der(ptr0, len0);
817
+ const ret = wasm.pcs_new(ptr0, len0);
895
818
  if (ret[2]) {
896
819
  throw takeFromExternrefTable0(ret[1]);
897
820
  }
898
- return CRL.__wrap(ret[0]);
821
+ this.__wbg_ptr = ret[0] >>> 0;
822
+ PcsFinalization.register(this, this.__wbg_ptr, this);
823
+ return this;
899
824
  }
900
825
  }
901
- if (Symbol.dispose) CRL.prototype[Symbol.dispose] = CRL.prototype.free;
826
+ if (Symbol.dispose) Pcs.prototype[Symbol.dispose] = Pcs.prototype.free;
902
827
 
903
- class ExportPem {
828
+ /**
829
+ * Generic per-request query parameters.
830
+ *
831
+ * The `nonce` key is reserved and will be rejected.
832
+ */
833
+ export class QueryParams {
904
834
  static __wrap(ptr) {
905
835
  ptr = ptr >>> 0;
906
- const obj = Object.create(ExportPem.prototype);
836
+ const obj = Object.create(QueryParams.prototype);
907
837
  obj.__wbg_ptr = ptr;
908
- ExportPemFinalization.register(obj, obj.__wbg_ptr, obj);
838
+ QueryParamsFinalization.register(obj, obj.__wbg_ptr, obj);
909
839
  return obj;
910
840
  }
911
841
  __destroy_into_raw() {
912
842
  const ptr = this.__wbg_ptr;
913
843
  this.__wbg_ptr = 0;
914
- ExportPemFinalization.unregister(this);
844
+ QueryParamsFinalization.unregister(this);
915
845
  return ptr;
916
846
  }
917
847
  free() {
918
848
  const ptr = this.__destroy_into_raw();
919
- wasm.__wbg_sev__exportpem_free(ptr, 0);
920
- }
921
- /**
922
- * @returns {Uint8Array}
923
- */
924
- get ark() {
925
- const ret = wasm.__wbg_get_sev__exportpem_ark(this.__wbg_ptr);
926
- var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
927
- wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
928
- return v1;
929
- }
930
- /**
931
- * @returns {Uint8Array}
932
- */
933
- get ask() {
934
- const ret = wasm.__wbg_get_sev__exportpem_ask(this.__wbg_ptr);
935
- var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
936
- wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
937
- return v1;
938
- }
939
- /**
940
- * @returns {Uint8Array}
941
- */
942
- get vek() {
943
- const ret = wasm.__wbg_get_sev__exportpem_vek(this.__wbg_ptr);
944
- var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
945
- wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
946
- return v1;
947
- }
948
- /**
949
- * @param {Uint8Array} arg0
950
- */
951
- set ark(arg0) {
952
- const ptr0 = passArray8ToWasm0(arg0, wasm.__wbindgen_malloc);
953
- const len0 = WASM_VECTOR_LEN;
954
- wasm.__wbg_set_sev__exportpem_ark(this.__wbg_ptr, ptr0, len0);
849
+ wasm.__wbg_queryparams_free(ptr, 0);
955
850
  }
956
- /**
957
- * @param {Uint8Array} arg0
958
- */
959
- set ask(arg0) {
960
- const ptr0 = passArray8ToWasm0(arg0, wasm.__wbindgen_malloc);
961
- const len0 = WASM_VECTOR_LEN;
962
- wasm.__wbg_set_sev__exportpem_ask(this.__wbg_ptr, ptr0, len0);
851
+ constructor() {
852
+ const ret = wasm.queryparams_new();
853
+ this.__wbg_ptr = ret >>> 0;
854
+ QueryParamsFinalization.register(this, this.__wbg_ptr, this);
855
+ return this;
963
856
  }
964
857
  /**
965
- * @param {Uint8Array} arg0
858
+ * Appends a query parameter.
859
+ *
860
+ * Reserved keywords for specific queries will get overwritten
861
+ * @param {string} key
862
+ * @param {string} value
863
+ * @returns {QueryParams}
966
864
  */
967
- set vek(arg0) {
968
- const ptr0 = passArray8ToWasm0(arg0, wasm.__wbindgen_malloc);
865
+ with(key, value) {
866
+ const ptr = this.__destroy_into_raw();
867
+ const ptr0 = passStringToWasm0(key, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
969
868
  const len0 = WASM_VECTOR_LEN;
970
- wasm.__wbg_set_sev__exportpem_vek(this.__wbg_ptr, ptr0, len0);
869
+ const ptr1 = passStringToWasm0(value, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
870
+ const len1 = WASM_VECTOR_LEN;
871
+ const ret = wasm.queryparams_with(ptr, ptr0, len0, ptr1, len1);
872
+ return QueryParams.__wrap(ret);
971
873
  }
972
874
  }
973
- if (Symbol.dispose) ExportPem.prototype[Symbol.dispose] = ExportPem.prototype.free;
875
+ if (Symbol.dispose) QueryParams.prototype[Symbol.dispose] = QueryParams.prototype.free;
974
876
 
975
- class Kds {
877
+ export class QuoteVerifier {
976
878
  __destroy_into_raw() {
977
879
  const ptr = this.__wbg_ptr;
978
880
  this.__wbg_ptr = 0;
979
- KdsFinalization.unregister(this);
881
+ QuoteVerifierFinalization.unregister(this);
980
882
  return ptr;
981
883
  }
982
884
  free() {
983
885
  const ptr = this.__destroy_into_raw();
984
- wasm.__wbg_sev__kds_free(ptr, 0);
985
- }
986
- /**
987
- * @param {ParsedAttestation} attestation
988
- * @returns {Promise<VerifiedChain>}
989
- */
990
- fetch_certificates(attestation) {
991
- _assertClass(attestation, ParsedAttestation);
992
- const ret = wasm.kds_fetch_certificates(this.__wbg_ptr, attestation.__wbg_ptr);
993
- return ret;
886
+ wasm.__wbg_quoteverifier_free(ptr, 0);
994
887
  }
995
888
  /**
996
- * Fetches the certificate revocation list from AMD's KDS
997
- * @param {ParsedAttestation} attestation
998
- * @returns {Promise<CRL>}
889
+ * @param {Collateral} collateral
890
+ * @param {TdxQuote} quote
999
891
  */
1000
- fetch_crl(attestation) {
1001
- _assertClass(attestation, ParsedAttestation);
1002
- const ret = wasm.kds_fetch_crl(this.__wbg_ptr, attestation.__wbg_ptr);
1003
- return ret;
892
+ constructor(collateral, quote) {
893
+ _assertClass(collateral, Collateral);
894
+ var ptr0 = collateral.__destroy_into_raw();
895
+ _assertClass(quote, TdxQuote);
896
+ var ptr1 = quote.__destroy_into_raw();
897
+ const ret = wasm.quoteverifier_new(ptr0, ptr1);
898
+ this.__wbg_ptr = ret >>> 0;
899
+ QuoteVerifierFinalization.register(this, this.__wbg_ptr, this);
900
+ return this;
1004
901
  }
1005
902
  /**
1006
- * @param {string} cache_url
903
+ * @param {TdxNonce} nonce
1007
904
  */
1008
- constructor(cache_url) {
1009
- const ptr0 = passStringToWasm0(cache_url, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
1010
- const len0 = WASM_VECTOR_LEN;
1011
- const ret = wasm.kds_new(ptr0, len0);
1012
- if (ret[2]) {
1013
- throw takeFromExternrefTable0(ret[1]);
905
+ verify(nonce) {
906
+ _assertClass(nonce, TdxNonce);
907
+ const ret = wasm.quoteverifier_verify(this.__wbg_ptr, nonce.__wbg_ptr);
908
+ if (ret[1]) {
909
+ throw takeFromExternrefTable0(ret[0]);
1014
910
  }
1015
- this.__wbg_ptr = ret[0] >>> 0;
1016
- KdsFinalization.register(this, this.__wbg_ptr, this);
1017
- return this;
1018
911
  }
1019
912
  }
1020
- if (Symbol.dispose) Kds.prototype[Symbol.dispose] = Kds.prototype.free;
913
+ if (Symbol.dispose) QuoteVerifier.prototype[Symbol.dispose] = QuoteVerifier.prototype.free;
1021
914
 
1022
- /**
1023
- * Represents a parsed attestation report with some already
1024
- * parsed commonly accessed fields
1025
- */
1026
- class ParsedAttestation {
915
+ export class ResponseHeaders {
1027
916
  static __wrap(ptr) {
1028
917
  ptr = ptr >>> 0;
1029
- const obj = Object.create(ParsedAttestation.prototype);
918
+ const obj = Object.create(ResponseHeaders.prototype);
1030
919
  obj.__wbg_ptr = ptr;
1031
- ParsedAttestationFinalization.register(obj, obj.__wbg_ptr, obj);
920
+ ResponseHeadersFinalization.register(obj, obj.__wbg_ptr, obj);
1032
921
  return obj;
1033
922
  }
1034
923
  __destroy_into_raw() {
1035
924
  const ptr = this.__wbg_ptr;
1036
925
  this.__wbg_ptr = 0;
1037
- ParsedAttestationFinalization.unregister(this);
926
+ ResponseHeadersFinalization.unregister(this);
1038
927
  return ptr;
1039
928
  }
1040
929
  free() {
1041
930
  const ptr = this.__destroy_into_raw();
1042
- wasm.__wbg_sev__parsedattestation_free(ptr, 0);
1043
- }
1044
- /**
1045
- * @returns {number}
1046
- */
1047
- cpu_fam_id() {
1048
- const ret = wasm.parsedattestation_cpu_fam_id(this.__wbg_ptr);
1049
- return ret;
1050
- }
1051
- /**
1052
- * @returns {number}
1053
- */
1054
- cpu_mod_id() {
1055
- const ret = wasm.parsedattestation_cpu_mod_id(this.__wbg_ptr);
1056
- return ret;
931
+ wasm.__wbg_responseheaders_free(ptr, 0);
1057
932
  }
1058
933
  /**
1059
- * Parses and constructs a new attestation report from a stream of binary data
1060
- * @param {Uint8Array} bytes
1061
- * @returns {ParsedAttestation}
934
+ * @param {string} name
935
+ * @returns {string | undefined}
1062
936
  */
1063
- static new(bytes) {
1064
- const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
937
+ get(name) {
938
+ const ptr0 = passStringToWasm0(name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
1065
939
  const len0 = WASM_VECTOR_LEN;
1066
- const ret = wasm.parsedattestation_new(ptr0, len0);
1067
- if (ret[2]) {
1068
- throw takeFromExternrefTable0(ret[1]);
940
+ const ret = wasm.responseheaders_get(this.__wbg_ptr, ptr0, len0);
941
+ let v2;
942
+ if (ret[0] !== 0) {
943
+ v2 = getStringFromWasm0(ret[0], ret[1]).slice();
944
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
1069
945
  }
1070
- return ParsedAttestation.__wrap(ret[0]);
946
+ return v2;
1071
947
  }
1072
948
  /**
1073
- * Verifies the attestation report against a certificate chain
1074
- * @param {VerifiedChain} chain
1075
- * @param {SevNonce} nonce
949
+ * @returns {string[]}
1076
950
  */
1077
- verify(chain, nonce) {
1078
- _assertClass(chain, VerifiedChain);
1079
- _assertClass(nonce, SevNonce);
1080
- const ret = wasm.parsedattestation_verify(this.__wbg_ptr, chain.__wbg_ptr, nonce.__wbg_ptr);
1081
- if (ret[1]) {
1082
- throw takeFromExternrefTable0(ret[0]);
1083
- }
951
+ keys() {
952
+ const ret = wasm.responseheaders_keys(this.__wbg_ptr);
953
+ var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();
954
+ wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
955
+ return v1;
1084
956
  }
1085
957
  }
1086
- if (Symbol.dispose) ParsedAttestation.prototype[Symbol.dispose] = ParsedAttestation.prototype.free;
958
+ if (Symbol.dispose) ResponseHeaders.prototype[Symbol.dispose] = ResponseHeaders.prototype.free;
1087
959
 
1088
- class SevNonce {
960
+ export class SevNonce {
1089
961
  static __wrap(ptr) {
1090
962
  ptr = ptr >>> 0;
1091
963
  const obj = Object.create(SevNonce.prototype);
@@ -1101,7 +973,7 @@ class SevNonce {
1101
973
  }
1102
974
  free() {
1103
975
  const ptr = this.__destroy_into_raw();
1104
- wasm.__wbg_sev__sevnonce_free(ptr, 0);
976
+ wasm.__wbg_sevnonce_free(ptr, 0);
1105
977
  }
1106
978
  /**
1107
979
  * @returns {SevNonce}
@@ -1128,10 +1000,94 @@ class SevNonce {
1128
1000
  }
1129
1001
  if (Symbol.dispose) SevNonce.prototype[Symbol.dispose] = SevNonce.prototype.free;
1130
1002
 
1003
+ export class TcbLevels {
1004
+ __destroy_into_raw() {
1005
+ const ptr = this.__wbg_ptr;
1006
+ this.__wbg_ptr = 0;
1007
+ TcbLevelsFinalization.unregister(this);
1008
+ return ptr;
1009
+ }
1010
+ free() {
1011
+ const ptr = this.__destroy_into_raw();
1012
+ wasm.__wbg_tcblevels_free(ptr, 0);
1013
+ }
1014
+ }
1015
+ if (Symbol.dispose) TcbLevels.prototype[Symbol.dispose] = TcbLevels.prototype.free;
1016
+
1017
+ export class TdxNonce {
1018
+ __destroy_into_raw() {
1019
+ const ptr = this.__wbg_ptr;
1020
+ this.__wbg_ptr = 0;
1021
+ TdxNonceFinalization.unregister(this);
1022
+ return ptr;
1023
+ }
1024
+ free() {
1025
+ const ptr = this.__destroy_into_raw();
1026
+ wasm.__wbg_tdxnonce_free(ptr, 0);
1027
+ }
1028
+ constructor() {
1029
+ const ret = wasm.tdxnonce_generate();
1030
+ this.__wbg_ptr = ret >>> 0;
1031
+ TdxNonceFinalization.register(this, this.__wbg_ptr, this);
1032
+ return this;
1033
+ }
1034
+ /**
1035
+ * @returns {string}
1036
+ */
1037
+ to_hex() {
1038
+ let deferred1_0;
1039
+ let deferred1_1;
1040
+ try {
1041
+ const ret = wasm.tdxnonce_to_hex(this.__wbg_ptr);
1042
+ deferred1_0 = ret[0];
1043
+ deferred1_1 = ret[1];
1044
+ return getStringFromWasm0(ret[0], ret[1]);
1045
+ } finally {
1046
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
1047
+ }
1048
+ }
1049
+ }
1050
+ if (Symbol.dispose) TdxNonce.prototype[Symbol.dispose] = TdxNonce.prototype.free;
1051
+
1052
+ export class TdxQuote {
1053
+ static __wrap(ptr) {
1054
+ ptr = ptr >>> 0;
1055
+ const obj = Object.create(TdxQuote.prototype);
1056
+ obj.__wbg_ptr = ptr;
1057
+ TdxQuoteFinalization.register(obj, obj.__wbg_ptr, obj);
1058
+ return obj;
1059
+ }
1060
+ __destroy_into_raw() {
1061
+ const ptr = this.__wbg_ptr;
1062
+ this.__wbg_ptr = 0;
1063
+ TdxQuoteFinalization.unregister(this);
1064
+ return ptr;
1065
+ }
1066
+ free() {
1067
+ const ptr = this.__destroy_into_raw();
1068
+ wasm.__wbg_tdxquote_free(ptr, 0);
1069
+ }
1070
+ /**
1071
+ * Attempts to parse a quote from DCAP bytes.
1072
+ * @param {Uint8Array} quote
1073
+ * @returns {TdxQuote}
1074
+ */
1075
+ static from_bytes(quote) {
1076
+ const ptr0 = passArray8ToWasm0(quote, wasm.__wbindgen_malloc);
1077
+ const len0 = WASM_VECTOR_LEN;
1078
+ const ret = wasm.tdxquote_from_bytes(ptr0, len0);
1079
+ if (ret[2]) {
1080
+ throw takeFromExternrefTable0(ret[1]);
1081
+ }
1082
+ return TdxQuote.__wrap(ret[0]);
1083
+ }
1084
+ }
1085
+ if (Symbol.dispose) TdxQuote.prototype[Symbol.dispose] = TdxQuote.prototype.free;
1086
+
1131
1087
  /**
1132
1088
  * A chain which has been cryptographically verified
1133
1089
  */
1134
- class VerifiedChain {
1090
+ export class VerifiedChain {
1135
1091
  static __wrap(ptr) {
1136
1092
  ptr = ptr >>> 0;
1137
1093
  const obj = Object.create(VerifiedChain.prototype);
@@ -1147,7 +1103,7 @@ class VerifiedChain {
1147
1103
  }
1148
1104
  free() {
1149
1105
  const ptr = this.__destroy_into_raw();
1150
- wasm.__wbg_sev__verifiedchain_free(ptr, 0);
1106
+ wasm.__wbg_verifiedchain_free(ptr, 0);
1151
1107
  }
1152
1108
  /**
1153
1109
  * parses a triad of ark, ask and vek certificates in the PEM format,
@@ -1183,13 +1139,14 @@ class VerifiedChain {
1183
1139
  }
1184
1140
  if (Symbol.dispose) VerifiedChain.prototype[Symbol.dispose] = VerifiedChain.prototype.free;
1185
1141
 
1186
- export const sev = {};
1187
- sev.CRL = CRL;
1188
- sev.ExportPem = ExportPem;
1189
- sev.Kds = Kds;
1190
- sev.ParsedAttestation = ParsedAttestation;
1191
- sev.SevNonce = SevNonce;
1192
- sev.VerifiedChain = VerifiedChain;
1142
+ /**
1143
+ * Same as [`KeyChain:fetch_keychain`], put in for better wasm compatibility
1144
+ * @returns {Promise<KeyChain>}
1145
+ */
1146
+ export function fetch_keychain() {
1147
+ const ret = wasm.fetch_keychain();
1148
+ return ret;
1149
+ }
1193
1150
  export function __wbg___wbindgen_debug_string_dd5d2d07ce9e6c57(arg0, arg1) {
1194
1151
  const ret = debugString(arg1);
1195
1152
  const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
@@ -1269,6 +1226,10 @@ export function __wbg_collateral_new(arg0) {
1269
1226
  const ret = Collateral.__wrap(arg0);
1270
1227
  return ret;
1271
1228
  }
1229
+ export function __wbg_crl_new(arg0) {
1230
+ const ret = CRL.__wrap(arg0);
1231
+ return ret;
1232
+ }
1272
1233
  export function __wbg_crypto_48300657fced39f9(arg0) {
1273
1234
  const ret = arg0.crypto;
1274
1235
  return ret;
@@ -1341,6 +1302,10 @@ export function __wbg_iterator_de403ef31815a3e6() {
1341
1302
  const ret = Symbol.iterator;
1342
1303
  return ret;
1343
1304
  }
1305
+ export function __wbg_keychain_new(arg0) {
1306
+ const ret = KeyChain.__wrap(arg0);
1307
+ return ret;
1308
+ }
1344
1309
  export function __wbg_length_0c32cb8543c8e4c8(arg0) {
1345
1310
  const ret = arg0.length;
1346
1311
  return ret;
@@ -1419,14 +1384,14 @@ export function __wbg_node_95beb7570492fd97(arg0) {
1419
1384
  const ret = arg0.node;
1420
1385
  return ret;
1421
1386
  }
1422
- export function __wbg_nvidia__keychain_new(arg0) {
1423
- const ret = KeyChain.__wrap(arg0);
1424
- return ret;
1425
- }
1426
1387
  export function __wbg_nvidiaattestresult_new(arg0) {
1427
1388
  const ret = NvidiaAttestResult.__wrap(arg0);
1428
1389
  return ret;
1429
1390
  }
1391
+ export function __wbg_parsedattestation_new(arg0) {
1392
+ const ret = ParsedAttestation.__wrap(arg0);
1393
+ return ret;
1394
+ }
1430
1395
  export function __wbg_process_b2fea42461d03994(arg0) {
1431
1396
  const ret = arg0.process;
1432
1397
  return ret;
@@ -1495,18 +1460,6 @@ export function __wbg_set_name_ab9c98596fd7310a(arg0, arg1, arg2) {
1495
1460
  export function __wbg_set_signal_8564a226c5c6853c(arg0, arg1) {
1496
1461
  arg0.signal = arg1;
1497
1462
  }
1498
- export function __wbg_sev__crl_new(arg0) {
1499
- const ret = CRL.__wrap(arg0);
1500
- return ret;
1501
- }
1502
- export function __wbg_sev__parsedattestation_new(arg0) {
1503
- const ret = ParsedAttestation.__wrap(arg0);
1504
- return ret;
1505
- }
1506
- export function __wbg_sev__verifiedchain_new(arg0) {
1507
- const ret = VerifiedChain.__wrap(arg0);
1508
- return ret;
1509
- }
1510
1463
  export function __wbg_signal_9172c3282bfba2f5(arg0) {
1511
1464
  const ret = arg0.signal;
1512
1465
  return ret;
@@ -1566,22 +1519,26 @@ export function __wbg_value_7f6052747ccf940f(arg0) {
1566
1519
  const ret = arg0.value;
1567
1520
  return ret;
1568
1521
  }
1522
+ export function __wbg_verifiedchain_new(arg0) {
1523
+ const ret = VerifiedChain.__wrap(arg0);
1524
+ return ret;
1525
+ }
1569
1526
  export function __wbg_versions_215a3ab1c9d5745a(arg0) {
1570
1527
  const ret = arg0.versions;
1571
1528
  return ret;
1572
1529
  }
1573
1530
  export function __wbindgen_cast_0000000000000001(arg0, arg1) {
1574
- // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [Externref], shim_idx: 1943, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`.
1531
+ // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [Externref], shim_idx: 1946, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`.
1575
1532
  const ret = makeMutClosure(arg0, arg1, wasm_bindgen__convert__closures_____invoke__hc791e2887154c2d7);
1576
1533
  return ret;
1577
1534
  }
1578
1535
  export function __wbindgen_cast_0000000000000002(arg0, arg1) {
1579
- // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [], shim_idx: 1775, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
1536
+ // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [], shim_idx: 1778, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
1580
1537
  const ret = makeMutClosure(arg0, arg1, wasm_bindgen__convert__closures_____invoke__h88cd12797a81f64c);
1581
1538
  return ret;
1582
1539
  }
1583
1540
  export function __wbindgen_cast_0000000000000003(arg0, arg1) {
1584
- // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [], shim_idx: 885, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
1541
+ // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [], shim_idx: 888, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
1585
1542
  const ret = makeMutClosure(arg0, arg1, wasm_bindgen__convert__closures_____invoke__h9c983d8434b53ce3);
1586
1543
  return ret;
1587
1544
  }
@@ -1646,7 +1603,7 @@ const AttestResultFinalization = (typeof FinalizationRegistry === 'undefined')
1646
1603
  : new FinalizationRegistry(ptr => wasm.__wbg_attestresult_free(ptr >>> 0, 1));
1647
1604
  const CRLFinalization = (typeof FinalizationRegistry === 'undefined')
1648
1605
  ? { register: () => {}, unregister: () => {} }
1649
- : new FinalizationRegistry(ptr => wasm.__wbg_sev__crl_free(ptr >>> 0, 1));
1606
+ : new FinalizationRegistry(ptr => wasm.__wbg_crl_free(ptr >>> 0, 1));
1650
1607
  const ClientFinalization = (typeof FinalizationRegistry === 'undefined')
1651
1608
  ? { register: () => {}, unregister: () => {} }
1652
1609
  : new FinalizationRegistry(ptr => wasm.__wbg_client_free(ptr >>> 0, 1));
@@ -1658,22 +1615,22 @@ const CollateralFinalization = (typeof FinalizationRegistry === 'undefined')
1658
1615
  : new FinalizationRegistry(ptr => wasm.__wbg_collateral_free(ptr >>> 0, 1));
1659
1616
  const DecodedClaimsFinalization = (typeof FinalizationRegistry === 'undefined')
1660
1617
  ? { register: () => {}, unregister: () => {} }
1661
- : new FinalizationRegistry(ptr => wasm.__wbg_nvidia__decodedclaims_free(ptr >>> 0, 1));
1618
+ : new FinalizationRegistry(ptr => wasm.__wbg_decodedclaims_free(ptr >>> 0, 1));
1662
1619
  const EATTokenFinalization = (typeof FinalizationRegistry === 'undefined')
1663
1620
  ? { register: () => {}, unregister: () => {} }
1664
- : new FinalizationRegistry(ptr => wasm.__wbg_nvidia__eattoken_free(ptr >>> 0, 1));
1621
+ : new FinalizationRegistry(ptr => wasm.__wbg_eattoken_free(ptr >>> 0, 1));
1665
1622
  const ExportPemFinalization = (typeof FinalizationRegistry === 'undefined')
1666
1623
  ? { register: () => {}, unregister: () => {} }
1667
- : new FinalizationRegistry(ptr => wasm.__wbg_sev__exportpem_free(ptr >>> 0, 1));
1624
+ : new FinalizationRegistry(ptr => wasm.__wbg_exportpem_free(ptr >>> 0, 1));
1668
1625
  const GatewayErrorFinalization = (typeof FinalizationRegistry === 'undefined')
1669
1626
  ? { register: () => {}, unregister: () => {} }
1670
1627
  : new FinalizationRegistry(ptr => wasm.__wbg_gatewayerror_free(ptr >>> 0, 1));
1671
1628
  const KdsFinalization = (typeof FinalizationRegistry === 'undefined')
1672
1629
  ? { register: () => {}, unregister: () => {} }
1673
- : new FinalizationRegistry(ptr => wasm.__wbg_sev__kds_free(ptr >>> 0, 1));
1630
+ : new FinalizationRegistry(ptr => wasm.__wbg_kds_free(ptr >>> 0, 1));
1674
1631
  const KeyChainFinalization = (typeof FinalizationRegistry === 'undefined')
1675
1632
  ? { register: () => {}, unregister: () => {} }
1676
- : new FinalizationRegistry(ptr => wasm.__wbg_nvidia__keychain_free(ptr >>> 0, 1));
1633
+ : new FinalizationRegistry(ptr => wasm.__wbg_keychain_free(ptr >>> 0, 1));
1677
1634
  const ModulesFinalization = (typeof FinalizationRegistry === 'undefined')
1678
1635
  ? { register: () => {}, unregister: () => {} }
1679
1636
  : new FinalizationRegistry(ptr => wasm.__wbg_modules_free(ptr >>> 0, 1));
@@ -1682,10 +1639,10 @@ const NvidiaAttestResultFinalization = (typeof FinalizationRegistry === 'undefin
1682
1639
  : new FinalizationRegistry(ptr => wasm.__wbg_nvidiaattestresult_free(ptr >>> 0, 1));
1683
1640
  const NvidiaNonceFinalization = (typeof FinalizationRegistry === 'undefined')
1684
1641
  ? { register: () => {}, unregister: () => {} }
1685
- : new FinalizationRegistry(ptr => wasm.__wbg_nvidia__nvidianonce_free(ptr >>> 0, 1));
1642
+ : new FinalizationRegistry(ptr => wasm.__wbg_nvidianonce_free(ptr >>> 0, 1));
1686
1643
  const ParsedAttestationFinalization = (typeof FinalizationRegistry === 'undefined')
1687
1644
  ? { register: () => {}, unregister: () => {} }
1688
- : new FinalizationRegistry(ptr => wasm.__wbg_sev__parsedattestation_free(ptr >>> 0, 1));
1645
+ : new FinalizationRegistry(ptr => wasm.__wbg_parsedattestation_free(ptr >>> 0, 1));
1689
1646
  const PcsFinalization = (typeof FinalizationRegistry === 'undefined')
1690
1647
  ? { register: () => {}, unregister: () => {} }
1691
1648
  : new FinalizationRegistry(ptr => wasm.__wbg_pcs_free(ptr >>> 0, 1));
@@ -1700,7 +1657,7 @@ const ResponseHeadersFinalization = (typeof FinalizationRegistry === 'undefined'
1700
1657
  : new FinalizationRegistry(ptr => wasm.__wbg_responseheaders_free(ptr >>> 0, 1));
1701
1658
  const SevNonceFinalization = (typeof FinalizationRegistry === 'undefined')
1702
1659
  ? { register: () => {}, unregister: () => {} }
1703
- : new FinalizationRegistry(ptr => wasm.__wbg_sev__sevnonce_free(ptr >>> 0, 1));
1660
+ : new FinalizationRegistry(ptr => wasm.__wbg_sevnonce_free(ptr >>> 0, 1));
1704
1661
  const TcbLevelsFinalization = (typeof FinalizationRegistry === 'undefined')
1705
1662
  ? { register: () => {}, unregister: () => {} }
1706
1663
  : new FinalizationRegistry(ptr => wasm.__wbg_tcblevels_free(ptr >>> 0, 1));
@@ -1712,7 +1669,7 @@ const TdxQuoteFinalization = (typeof FinalizationRegistry === 'undefined')
1712
1669
  : new FinalizationRegistry(ptr => wasm.__wbg_tdxquote_free(ptr >>> 0, 1));
1713
1670
  const VerifiedChainFinalization = (typeof FinalizationRegistry === 'undefined')
1714
1671
  ? { register: () => {}, unregister: () => {} }
1715
- : new FinalizationRegistry(ptr => wasm.__wbg_sev__verifiedchain_free(ptr >>> 0, 1));
1672
+ : new FinalizationRegistry(ptr => wasm.__wbg_verifiedchain_free(ptr >>> 0, 1));
1716
1673
 
1717
1674
  function addToExternrefTable0(obj) {
1718
1675
  const idx = wasm.__externref_table_alloc();