Skip to content

Commit 7388593

Browse files
authored
Merge pull request #37 from intel/rc/25ww30
Rc/25ww30
2 parents 6c657e4 + f1455c5 commit 7388593

24 files changed

+4225
-219
lines changed

.eslintrc

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@
1010
},
1111
"extends": "eslint:recommended",
1212
"root": true,
13+
"plugins": [
14+
"jsdoc"
15+
],
1316
// Before changing any rule below, please consult documentation (http://eslint.org/docs/rules/)
1417
"rules": {
1518

@@ -47,7 +50,7 @@
4750
"no-unsafe-finally" : "error", // disallow control flow statements in finally blocks
4851
"no-unsafe-negation" : "error",
4952
"use-isnan" : "error", // require calls to isNaN() when checking for NaN
50-
"valid-jsdoc" : "warn", // enforce valid JSDoc comments
53+
"jsdoc/valid-types" : "warn", // enforce valid JSDoc comments
5154
"valid-typeof" : "error", // enforce comparing typeof expressions against valid strings
5255

5356
// Best Practices
@@ -138,7 +141,7 @@
138141
"no-undef" : "error", // disallow the use of undeclared variables unless mentioned in /*global */ comments
139142
"no-undef-init" : "error", // disallow initializing variables to undefined
140143
"no-undefined" : "off", // disallow the use of undefined as an identifier
141-
"no-unused-vars" : [ "error", { "varsIgnorePattern": "^_" } ], // disallow unused variables
144+
"no-unused-vars" : [ "error", { "varsIgnorePattern": "^_", "caughtErrors": "none" } ], // disallow unused variables //TODO: consider removing "caughtErrors"
142145
"no-use-before-define" : [ "error", { "functions": false, "classes": false } ], // disallow the use of variables before they are defined
143146

144147
// Node.js and CommonJS
@@ -227,7 +230,7 @@
227230
"padding-line-between-statements" : "error", // require or disallow padding lines between statements
228231
"quote-props" : [ "error", "consistent-as-needed", { "keywords": true } ], // require quotes around object literal property names
229232
"quotes" : [ "error", "single", { "avoidEscape": true } ], // enforce the consistent use of either backticks, double, or single quotes
230-
"require-jsdoc" : [ "warn", { "require": { "FunctionDeclaration": true, "MethodDefinition": false, "ClassDeclaration": false } } ], // require JSDoc comments //TODO: it should be enabled
233+
"jsdoc/require-jsdoc" : [ "warn", { "require": { "FunctionDeclaration": true, "MethodDefinition": false, "ClassDeclaration": false } } ], // require JSDoc comments //TODO: it should be enabled
231234
"semi" : [ "error", "always" ], // require or disallow semicolons instead of ASI
232235
"semi-spacing" : "error", // enforce consistent spacing before and after semicolons
233236
"sort-vars" : "off", // require variables within the same declaration block to be sorted

Dockerfile

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,9 @@
2626
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
2727
# POSSIBILITY OF SUCH DAMAGE.
2828
#
29+
ARG REPO=""
2930

30-
FROM node:lts-slim AS qvl-builder
31+
FROM ${REPO}node:lts-slim AS qvl-builder
3132

3233
ENV DEBIAN_FRONTEND=noninteractive
3334
# install QVL dependencies
@@ -44,19 +45,21 @@ RUN apt-get update \
4445
&& apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \
4546
&& wget --progress=dot:giga https://github.com/openssl/openssl/releases/download/openssl-3.0.8/openssl-3.0.8.tar.gz -O /tmp/openssl.tar.gz \
4647
&& echo "6c13d2bf38fdf31eac3ce2a347073673f5d63263398f1f69d0df4a41253e4b3e /tmp/openssl.tar.gz" | sha256sum --check \
47-
&& mkdir /tmp/openssl && cd /tmp/openssl \
48-
&& tar -xzf /tmp/openssl.tar.gz --strip-components=1 -C /tmp/openssl \
49-
&& ./Configure enable-fips && make -j${nproc} \
50-
&& mkdir /tmp/fips && cp /tmp/openssl/providers/fips.so /tmp/fips && cp /tmp/openssl/providers/fipsmodule.cnf /tmp/fips \
51-
&& rm -rf /tmp/openssl.tar.gz /tmp/openssl
48+
&& mkdir /tmp/openssl
49+
50+
WORKDIR /tmp/openssl
51+
RUN tar -xzf "/tmp/openssl.tar.gz" --strip-components=1 -C "/tmp/openssl" \
52+
&& ./Configure enable-fips && make -j"$(nproc)" \
53+
&& mkdir "/tmp/fips" && cp "/tmp/openssl/providers/fips.so" "/tmp/fips" && cp "/tmp/openssl/providers/fipsmodule.cnf" "/tmp/fips" \
54+
&& rm -rf "/tmp/openssl.tar.gz" "/tmp/openssl"
5255

5356
# copy QVL sources
5457
COPY build/qvls /qvl
5558
# build and test QVL
5659
WORKDIR /qvl
5760
RUN ./runUT -DBUILD_LOGS=ON
5861

59-
FROM node:lts-slim AS qvs-builder
62+
FROM ${REPO}node:lts-slim AS qvs-builder
6063
ENV DEBIAN_FRONTEND=noninteractive
6164
RUN apt-get update \
6265
&& apt-get upgrade --assume-yes -o Dpkg::Options::="--force-confold" \
@@ -112,7 +115,7 @@ COPY --from=qvs-builder-debug /qvs/native /native
112115
COPY --from=qvs-builder /qvs/src/node_modules /src/node_modules
113116
COPY --from=qvs-builder /qvs/test/node_modules /test/node_modules
114117

115-
FROM node:lts-slim as app
118+
FROM ${REPO}node:lts-slim as app
116119

117120
LABEL description="Quote Verification Service"
118121

README.md

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,15 @@
1+
## Deprecation notice
2+
3+
This repository is going to be archived on 1st of October 2025.
4+
5+
After that, repository will remain available in a read-only state for historical reference, Intel will not be addressing issues, reviewing pull requests, or making any updates going forward.
6+
7+
If you are interested in building your own attestation infrastructure please refer to below solutions:
8+
- [Intel SGX DCAP with ECDSA-based attestation](https://www.intel.com/content/www/us/en/developer/tools/software-guard-extensions/attestation-services.html)
9+
- [TrusTEE](https://github.com/confidential-containers/trustee)
10+
11+
---
12+
113
# Intel® Software Guard Extensions and Intel® Trust Domain Extensions Data Center Attestation Primitives (Intel® SGX and Intel® TDX DCAP) Quote Verification Service
214

315
## Introduction
@@ -7,7 +19,6 @@ It can be used as a part of [SGX attestation](https://www.intel.com/content/www/
719

820
Service checks, that provided evidence comes from a genuine, non-revoked SGX/TDX capable platform on given TCB level and generates appriopriate JSON report. Based on that report and by verifying additional evidences (like: MRSIGNER, MRENCLAVE) client can decide whether to trust this enclave or not.
921

10-
1122
### Service architecture overview
1223

1324
![QVS Diagram](diagram.png?raw=true "QVS Diagram")
@@ -32,6 +43,8 @@ QVS for demonstation purposes can be quickly configured and run with self-signed
3243
- ```$ sudo sh ./get-docker.sh```
3344
- [jq](https://jqlang.github.io/jq/)
3445
- ```$ sudo apt-get install jq``` (for Debian/Ubuntu)
46+
- [QVL](https://github.com/intel/SGX-TDX-DCAP-QuoteVerificationLibrary)
47+
- ```$ git clone https://github.com/intel/SGX-TDX-DCAP-QuoteVerificationLibrary.git ../QVL```
3548

3649
### Build
3750
Execute ```./build.sh```. This script will build QVL, QVS and SSS.
@@ -55,7 +68,7 @@ Using docker builders:
5568
- [Docker](https://www.docker.com/) (tested with version 20.10.11)
5669
Without docker:
5770
- [Node.js](https://nodejs.org/en/) (tested with version 16.13.1) with `npm` and `cmake-js` addon
58-
- install prerequisites from [QVL](https://github.com/intel/SGX-TDX-DCAP-QuoteVerificationLibrary)
71+
- download sources and install prerequisites from [QVL](https://github.com/intel/SGX-TDX-DCAP-QuoteVerificationLibrary)
5972

6073
#### Install software dependencies
6174
For Ubuntu 18.04, the following command can be used to install all necessary software dependencies:
@@ -75,7 +88,7 @@ The build was tested on Ubuntu 18.04 and 20.04.
7588

7689
Here, we assume that the [build prerequisites](#prerequisites-for-linux) are fulfilled.
7790

78-
Execute ```./build.sh```. This script will build QVL, QVS and finally will create Docker Images for QVS and SSS.
91+
Execute ```./build.sh```. As the first argument you can provide path to QVL sources i.e. `./build.sh ../QVL` where `../QVL` is defualt. This script will build QVL, QVS and finally will create Docker Images for QVS and SSS.
7992
As a result it creates two docker images: ```qvs:latest``` and ```sss:latest```
8093

8194
Script will build:
@@ -204,7 +217,7 @@ curl --cacert ./configuration-default/certificates/qvs-cert.pem https://localhos
204217
| ------------ | ------------ | ------------ |
205218
| QVS_ATTESTATION_REPORT_SIGNING_CA_CERTIFICATE | | URL encoded CA certificate (in PEM format) of QVS_ATTESTATION_REPORT_SIGNING_CERTIFICATE. As part of chain it will be returned in `X-IASReport-Signing-Certificate` header to enable verifying report. |
206219
| QVS_ATTESTATION_REPORT_SIGNING_CERTIFICATE | | URL encoded certificate (in PEM format) that Verification Crypto Service uses to sign reports. Also returned as part of chain in `X-IASReport-Signing-Certificate` header. |
207-
| QVS_TRUSTED_ROOT_PUBLIC_KEY | 3059301306072a8648ce3d020106082a8648ce3d030107034200040ba9c4c0c0c86193a3fe23d6b02cda10a8bbd4e88e48b4458561a36e705525f567918e2edc88e40d860bd0cc4ee26aacc988e505a953558c453f6b0904ae7394 | Public key of CA certificate that is root for PCK certificate chain |
220+
| QVS_TRUSTED_ROOT_PUBLIC_KEY | \<root public key for https://api.portal.trustedservices.intel.com/provisioning-certification > | Subject Public Key Info of CA certificate that is root for PCK certificate chain |
208221

209222
## API Documentation
210223

0 commit comments

Comments
 (0)