@super-protocol/addons-tee 0.8.4 → 0.8.6

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,9 @@
1
+ #!/bin/bash
2
+ set -e
3
+
4
+ docker run --rm --entrypoint /bin/bash -v $PWD/sgx-native:/app/src gramineproject/gramine:v1.3.1 /app/src/docker_build.sh
5
+ if [ $? -eq 0 ]; then
6
+ echo -e '\033[0;32mBUILD SUCCESS'
7
+ else
8
+ echo -e '\033[0;31mBUILD FAILED'
9
+ fi
@@ -0,0 +1,78 @@
1
+ #!/bin/bash
2
+ set -e
3
+
4
+ # Install deps
5
+ apt update
6
+ DEBIAN_FRONTEND=noninteractive apt install -y git wget make gcc g++ curl cmake clang meson libssl-dev libsgx-dcap-quote-verify-dev libcurl4-openssl-dev
7
+
8
+ # Download and install Intel SDK
9
+ cd /opt/intel
10
+ wget https://download.01.org/intel-sgx/sgx-linux/2.18/distro/ubuntu20.04-server/sgx_linux_x64_sdk_2.18.100.3.bin
11
+ chmod +x sgx_linux_x64_sdk_2.18.100.3.bin
12
+ echo yes | ./sgx_linux_x64_sdk_2.18.100.3.bin
13
+ rm -f sgx_linux_x64_sdk_2.18.100.3.bin
14
+
15
+ # Clone and Build QVL
16
+ cd /app
17
+ git clone --single-branch -b DCAP_1.15 https://github.com/intel/SGXDataCenterAttestationPrimitives.git
18
+ cd /app/SGXDataCenterAttestationPrimitives/QuoteVerification/QVL/Src
19
+ ./release
20
+
21
+ # Clone and Download mbedtls lib
22
+ cd /app
23
+ git clone --single-branch -b v1.3.1 https://github.com/gramineproject/gramine.git
24
+ cd /app/gramine
25
+ meson subprojects download
26
+
27
+ # Clone and Build NAPI Stubs
28
+ cd /app
29
+ git clone --single-branch -b main https://github.com/napi-bindings/node-api-stub.git
30
+ cd /app/node-api-stub
31
+ git checkout a253cf6
32
+ mkdir ./build
33
+ cmake -DCMAKE_BUILD_TYPE=Release -G "Unix Makefiles" -S ./ -B ./build
34
+ cmake --build ./build
35
+
36
+ # Install nodejs
37
+ curl -sL https://deb.nodesource.com/setup_16.x | bash -
38
+ DEBIAN_FRONTEND=noninteractive apt install -y nodejs
39
+
40
+ # Build addon
41
+ cd /app/src/
42
+ export GRAMINE_PATH=/app/gramine
43
+ export SGX_PRIMITIVES=/app/SGXDataCenterAttestationPrimitives
44
+ export NODE_API_STUB=/app/node-api-stub/build
45
+
46
+ npm i -g node-addon-api node-gyp nan
47
+ MBEDTLS=$(find ${GRAMINE_PATH}/subprojects/mbedtls* -maxdepth 0 -type d)
48
+ if [ $? -eq 0 ]; then
49
+ MBEDTLS=$(find ${MBEDTLS}/mbedtls* -maxdepth 0 -type d)
50
+ if [ $? -eq 0 ]; then
51
+ echo "MBEDTLS found in ${MBEDTLS}"
52
+ export MBEDTLS=${MBEDTLS}
53
+ else
54
+ echo "MBEDTLS not found"
55
+ exit 1
56
+ fi
57
+ else
58
+ echo "MBEDTLS not found"
59
+ exit 1
60
+ fi
61
+
62
+ export NODE_PATH=$(npm root -g)
63
+
64
+ rm -rf /app/src/build
65
+ npx node-gyp configure build
66
+ strip ./build/Release/sgx_native.node
67
+
68
+ BUILD_DIR=/app/src/build/Release
69
+ cp /usr/lib/x86_64-linux-gnu/libmbedcrypto_gramine.so.12 ${BUILD_DIR}
70
+ cp /usr/lib/x86_64-linux-gnu/libmbedx509_gramine.so.4 ${BUILD_DIR}
71
+ cp /usr/lib/x86_64-linux-gnu/libsgx_dcap_quoteverify.so.1 ${BUILD_DIR}
72
+ cp /usr/lib/x86_64-linux-gnu/libsgx_util.so ${BUILD_DIR}
73
+ cp /usr/lib/x86_64-linux-gnu/libcjson.so.1 ${BUILD_DIR} #only for tests
74
+
75
+ # libsgx_default_qcnl_wrapper.so.1 and libdcap_quoteprov.so.1 installed with the package libsgx_dcap_default_qpl
76
+
77
+ #TODO: CHECK NEXT LIBS
78
+ #libsgx_urts.so.1
@@ -20,6 +20,29 @@ class QuoteValidationError extends AttestationDcapQuoteVerifyEnclaveError {
20
20
  super();
21
21
  this.verifyResult = verifyResult;
22
22
  this.criticalError = false;
23
+ this.verifyResult = verifyResult;
24
+ this.criticalError = false;
25
+ switch (verifyResult) {
26
+ case 0xa001:
27
+ this.message = `The SGX platform firmware and SW are at the latest security patching level but there are
28
+ platform hardware configurations may expose the enclave to vulnerabilities.`;
29
+ break;
30
+ case 0xa002:
31
+ case 0xa003:
32
+ case 0xa004:
33
+ this.message = `The SGX platform firmware and SW are not at the latest security patching level. The
34
+ platform needs to be patched with firmware and/or software patches.`;
35
+ break;
36
+ case 0xa007:
37
+ case 0xa008:
38
+ this.message = `The SGX platform firmware and SW are at the latest security patching level but there
39
+ are certain vulnerabilities that can only be mitigated with software mitigations implemented by the enclave.`;
40
+ break;
41
+ default:
42
+ this.criticalError = true;
43
+ this.message = `Quote verification failed. Verification result: 0x${Number(verifyResult).toString(16)}`;
44
+ break;
45
+ }
23
46
  }
24
47
  }
25
48
  exports.QuoteValidationError = QuoteValidationError;
@@ -30,4 +53,4 @@ class PkiServiceError extends Error {
30
53
  }
31
54
  }
32
55
  exports.PkiServiceError = PkiServiceError;
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NneC1uYXRpdmUtbW9kdWxlL2Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxNQUFhLHNDQUF1QyxTQUFRLEtBQUs7SUFDN0QsWUFBWSxHQUFZO1FBQ3BCLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNYLElBQUksQ0FBQyxJQUFJLEdBQUcsc0NBQXNDLENBQUMsSUFBSSxDQUFDO0lBQzVELENBQUM7Q0FDSjtBQUxELHdGQUtDO0FBRUQsTUFBYSxzQ0FBdUMsU0FBUSxLQUFLO0lBQzdELFlBQVksR0FBWTtRQUNwQixLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDWCxJQUFJLENBQUMsSUFBSSxHQUFHLHNDQUFzQyxDQUFDLElBQUksQ0FBQztJQUM1RCxDQUFDO0NBQ0o7QUFMRCx3RkFLQztBQUVELE1BQWEsb0JBQXFCLFNBQVEsc0NBQXNDO0lBRTVFLFlBQTRCLFlBQW9CO1FBQzVDLEtBQUssRUFBRSxDQUFDO1FBRGdCLGlCQUFZLEdBQVosWUFBWSxDQUFRO1FBRHpDLGtCQUFhLEdBQUcsS0FBSyxDQUFDO0lBRzdCLENBQUM7Q0FDSjtBQUxELG9EQUtDO0FBRUQsTUFBYSxlQUFnQixTQUFRLEtBQUs7SUFDdEMsWUFBWSxHQUFZO1FBQ3BCLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNYLElBQUksQ0FBQyxJQUFJLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQztJQUNyQyxDQUFDO0NBQ0o7QUFMRCwwQ0FLQyJ9
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NneC1uYXRpdmUtbW9kdWxlL2Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxNQUFhLHNDQUF1QyxTQUFRLEtBQUs7SUFDN0QsWUFBWSxHQUFZO1FBQ3BCLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNYLElBQUksQ0FBQyxJQUFJLEdBQUcsc0NBQXNDLENBQUMsSUFBSSxDQUFDO0lBQzVELENBQUM7Q0FDSjtBQUxELHdGQUtDO0FBRUQsTUFBYSxzQ0FBdUMsU0FBUSxLQUFLO0lBQzdELFlBQVksR0FBWTtRQUNwQixLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDWCxJQUFJLENBQUMsSUFBSSxHQUFHLHNDQUFzQyxDQUFDLElBQUksQ0FBQztJQUM1RCxDQUFDO0NBQ0o7QUFMRCx3RkFLQztBQUVELE1BQWEsb0JBQXFCLFNBQVEsc0NBQXNDO0lBRTVFLFlBQTRCLFlBQW9CO1FBQzVDLEtBQUssRUFBRSxDQUFDO1FBRGdCLGlCQUFZLEdBQVosWUFBWSxDQUFRO1FBRHpDLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBR3pCLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1FBRTNCLFFBQVEsWUFBWSxFQUFFO1lBQ2xCLEtBQUssTUFBTTtnQkFDUCxJQUFJLENBQUMsT0FBTyxHQUFHOzRGQUM2RCxDQUFDO2dCQUM3RSxNQUFNO1lBQ1YsS0FBSyxNQUFNLENBQUM7WUFDWixLQUFLLE1BQU0sQ0FBQztZQUNaLEtBQUssTUFBTTtnQkFDUCxJQUFJLENBQUMsT0FBTyxHQUFHO29GQUNxRCxDQUFDO2dCQUNyRSxNQUFNO1lBQ1YsS0FBSyxNQUFNLENBQUM7WUFDWixLQUFLLE1BQU07Z0JBQ1AsSUFBSSxDQUFDLE9BQU8sR0FBRzs2SEFDOEYsQ0FBQztnQkFDOUcsTUFBTTtZQUNWO2dCQUNJLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO2dCQUMxQixJQUFJLENBQUMsT0FBTyxHQUFHLHFEQUFxRCxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0JBQ3hHLE1BQU07U0FDYjtJQUNMLENBQUM7Q0FDSjtBQTdCRCxvREE2QkM7QUFFRCxNQUFhLGVBQWdCLFNBQVEsS0FBSztJQUN0QyxZQUFZLEdBQVk7UUFDcEIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ1gsSUFBSSxDQUFDLElBQUksR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDO0lBQ3JDLENBQUM7Q0FDSjtBQUxELDBDQUtDIn0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@super-protocol/addons-tee",
3
- "version": "0.8.4",
3
+ "version": "0.8.6",
4
4
  "description": "The TEE trusted loader addons",
5
5
  "tags": [
6
6
  "tee"