@microsoft/ccf-app 5.0.0-dev0 → 5.0.0-dev2
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/global.d.ts +64 -0
- package/global.js +2 -0
- package/package.json +4 -3
- package/polyfill.js +6 -0
- package/snp_attestation.d.ts +4 -0
- package/snp_attestation.js +12 -0
package/global.d.ts
CHANGED
|
@@ -608,3 +608,67 @@ export interface OpenEnclave {
|
|
|
608
608
|
*/
|
|
609
609
|
verifyOpenEnclaveEvidence(format: string | undefined, evidence: ArrayBuffer, endorsements?: ArrayBuffer): EvidenceClaims;
|
|
610
610
|
}
|
|
611
|
+
export interface TcbVersion {
|
|
612
|
+
boot_loader: number;
|
|
613
|
+
tee: number;
|
|
614
|
+
snp: number;
|
|
615
|
+
microcode: number;
|
|
616
|
+
}
|
|
617
|
+
export interface SnpAttestationResult {
|
|
618
|
+
attestation: {
|
|
619
|
+
version: number;
|
|
620
|
+
guest_svn: number;
|
|
621
|
+
policy: {
|
|
622
|
+
abi_minor: number;
|
|
623
|
+
abi_major: number;
|
|
624
|
+
smt: number;
|
|
625
|
+
migrate_ma: number;
|
|
626
|
+
debug: number;
|
|
627
|
+
single_socket: number;
|
|
628
|
+
};
|
|
629
|
+
family_id: ArrayBuffer;
|
|
630
|
+
image_id: ArrayBuffer;
|
|
631
|
+
vmpl: number;
|
|
632
|
+
signature_algo: number;
|
|
633
|
+
platform_version: TcbVersion;
|
|
634
|
+
platform_info: {
|
|
635
|
+
smt_en: number;
|
|
636
|
+
tsme_en: number;
|
|
637
|
+
};
|
|
638
|
+
flags: {
|
|
639
|
+
author_key_en: number;
|
|
640
|
+
mask_chip_key: number;
|
|
641
|
+
signing_key: number;
|
|
642
|
+
};
|
|
643
|
+
report_data: ArrayBuffer;
|
|
644
|
+
measurement: ArrayBuffer;
|
|
645
|
+
host_data: ArrayBuffer;
|
|
646
|
+
id_key_digest: ArrayBuffer;
|
|
647
|
+
author_key_digest: ArrayBuffer;
|
|
648
|
+
report_id: ArrayBuffer;
|
|
649
|
+
report_id_ma: ArrayBuffer;
|
|
650
|
+
reported_tcb: TcbVersion;
|
|
651
|
+
chip_id: ArrayBuffer;
|
|
652
|
+
committed_tcb: TcbVersion;
|
|
653
|
+
current_minor: number;
|
|
654
|
+
current_build: number;
|
|
655
|
+
current_major: number;
|
|
656
|
+
committed_build: number;
|
|
657
|
+
committed_minor: number;
|
|
658
|
+
committed_major: number;
|
|
659
|
+
launch_tcb: TcbVersion;
|
|
660
|
+
signature: {
|
|
661
|
+
r: ArrayBuffer;
|
|
662
|
+
s: ArrayBuffer;
|
|
663
|
+
};
|
|
664
|
+
};
|
|
665
|
+
uvm_endorsements?: {
|
|
666
|
+
did: string;
|
|
667
|
+
feed: string;
|
|
668
|
+
svn: string;
|
|
669
|
+
};
|
|
670
|
+
}
|
|
671
|
+
export declare const snp_attestation: SnpAttestation;
|
|
672
|
+
export interface SnpAttestation {
|
|
673
|
+
verifySnpAttestation(evidence: ArrayBuffer, endorsements: ArrayBuffer, uvm_endorsements?: ArrayBuffer, endorsed_tcb?: string): SnpAttestationResult;
|
|
674
|
+
}
|
package/global.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@microsoft/ccf-app",
|
|
3
|
-
"version": "5.0.0-
|
|
3
|
+
"version": "5.0.0-dev2",
|
|
4
4
|
"description": "CCF app support package",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"files": [
|
|
@@ -28,7 +28,8 @@
|
|
|
28
28
|
"mocha": "^10.0.0",
|
|
29
29
|
"node-forge": "^1.2.0",
|
|
30
30
|
"ts-node": "^10.4.0",
|
|
31
|
-
"typedoc": "^0.
|
|
32
|
-
"typescript": "^5.0.2"
|
|
31
|
+
"typedoc": "^0.25.0",
|
|
32
|
+
"typescript": "^5.0.2",
|
|
33
|
+
"get-func-name": "2.0.0"
|
|
33
34
|
}
|
|
34
35
|
}
|
package/polyfill.js
CHANGED
|
@@ -479,6 +479,12 @@ class OpenEnclavePolyfill {
|
|
|
479
479
|
}
|
|
480
480
|
}
|
|
481
481
|
globalThis.openenclave = new OpenEnclavePolyfill();
|
|
482
|
+
class SnpAttestationPolyfill {
|
|
483
|
+
verifySnpAttestation(evidence, endorsements, uvm_endorsements, endorsed_tcb) {
|
|
484
|
+
throw new Error("Method not implemented.");
|
|
485
|
+
}
|
|
486
|
+
}
|
|
487
|
+
globalThis.snp_attestation = new SnpAttestationPolyfill();
|
|
482
488
|
function nodeBufToArrBuf(buf) {
|
|
483
489
|
// Note: buf.buffer is not safe, see docs.
|
|
484
490
|
const arrBuf = new ArrayBuffer(buf.byteLength);
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @inheritDoc global!SnpAttestation.verifySnpAttestation
|
|
3
|
+
*/
|
|
4
|
+
export declare const verifySnpAttestation: (evidence: ArrayBuffer, endorsements: ArrayBuffer, uvm_endorsements?: ArrayBuffer | undefined, endorsed_tcb?: string | undefined) => import("./global").SnpAttestationResult;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
2
|
+
// Licensed under the Apache 2.0 License.
|
|
3
|
+
/**
|
|
4
|
+
* The `snp_attestation` module provides SNP Attestation Validation.
|
|
5
|
+
*
|
|
6
|
+
* @module
|
|
7
|
+
*/
|
|
8
|
+
import { snp_attestation } from "./global";
|
|
9
|
+
/**
|
|
10
|
+
* @inheritDoc global!SnpAttestation.verifySnpAttestation
|
|
11
|
+
*/
|
|
12
|
+
export const verifySnpAttestation = snp_attestation.verifySnpAttestation;
|