Skip to content

Commit 1eaa455

Browse files
committed
Linux 2.9.1 Open Source Gold Release
Supported to query Intel(R) SGX attestation key ID list. Fixed bugwqs. Signed-off-by: Li, Xun <[email protected]>
1 parent 1a65d74 commit 1eaa455

File tree

117 files changed

+2297
-485
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

117 files changed

+2297
-485
lines changed

Makefile

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
#
3030
#
3131

32-
DCAP_VER?= 1.5
32+
DCAP_VER?= 1.6
3333
DCAP_DOWNLOAD_BASE ?= https://github.com/intel/SGXDataCenterAttestationPrimitives/archive
3434

3535
CHECK_OPT :=
@@ -97,6 +97,14 @@ ifeq ("$(wildcard ./external/dcap_source/QuoteGeneration/psw/ae/data/prebuilt/li
9797
endif
9898
$(MAKE) -C external/dcap_source/QuoteGeneration deb_sgx_ae_qe3_pkg
9999
$(CP) external/dcap_source/QuoteGeneration/installer/linux/deb/libsgx-ae-qe3/libsgx-ae-qe3*.deb ./linux/installer/deb/sgx-aesm-service/
100+
.PHONY: deb_libsgx_qe3_logic
101+
deb_libsgx_qe3_logic: psw
102+
$(MAKE) -C external/dcap_source/QuoteGeneration deb_sgx_qe3_logic_pkg
103+
$(CP) external/dcap_source/QuoteGeneration/installer/linux/deb/libsgx-qe3-logic/libsgx-qe3-logic*deb ./linux/installer/deb/sgx-aesm-service/
104+
.PHONY: deb_libsgx_pce_logic
105+
deb_libsgx_pce_logic: psw
106+
$(MAKE) -C external/dcap_source/QuoteGeneration deb_sgx_pce_logic_pkg
107+
$(CP) external/dcap_source/QuoteGeneration/installer/linux/deb/libsgx-pce-logic/libsgx-pce-logic*deb ./linux/installer/deb/sgx-aesm-service/
100108

101109
.PHONY: deb_libsgx_dcap_default_qpl
102110
deb_libsgx_dcap_default_qpl:
@@ -137,7 +145,7 @@ deb_libsgx_urts: psw
137145
./linux/installer/deb/libsgx-urts/build.sh
138146

139147
.PHONY: deb_psw_pkg
140-
deb_psw_pkg: deb_sgx_aesm_service deb_libsgx_epid deb_libsgx_launch deb_libsgx_quote_ex deb_libsgx_uae_service deb_libsgx_enclave_common deb_libsgx_urts deb_libsgx_ae_qe3 deb_libsgx_dcap_default_qpl deb_libsgx_dcap_pccs
148+
deb_psw_pkg: deb_libsgx_qe3_logic deb_libsgx_pce_logic deb_sgx_aesm_service deb_libsgx_epid deb_libsgx_launch deb_libsgx_quote_ex deb_libsgx_uae_service deb_libsgx_enclave_common deb_libsgx_urts deb_libsgx_ae_qe3 deb_libsgx_dcap_default_qpl deb_libsgx_dcap_pccs
141149

142150
.PHONY: deb_local_repo
143151
deb_local_repo: deb_psw_pkg
@@ -150,6 +158,14 @@ ifeq ("$(wildcard ./external/dcap_source/QuoteGeneration/psw/ae/data/prebuilt/li
150158
endif
151159
$(MAKE) -C external/dcap_source/QuoteGeneration rpm_sgx_ae_qe3_pkg
152160
$(CP) external/dcap_source/QuoteGeneration/installer/linux/rpm/libsgx-ae-qe3/libsgx-ae-qe3*.rpm ./linux/installer/rpm/sgx-aesm-service/
161+
.PHONY: rpm_libsgx_pce_logic
162+
rpm_libsgx_pce_logic: psw
163+
$(MAKE) -C external/dcap_source/QuoteGeneration rpm_sgx_pce_logic_pkg
164+
$(CP) external/dcap_source/QuoteGeneration/installer/linux/rpm/libsgx-pce-logic/libsgx-pce-logic*.rpm ./linux/installer/rpm/sgx-aesm-service/
165+
.PHONY: rpm_libsgx_qe3_logic
166+
rpm_libsgx_qe3_logic: psw
167+
$(MAKE) -C external/dcap_source/QuoteGeneration rpm_sgx_qe3_logic_pkg
168+
$(CP) external/dcap_source/QuoteGeneration/installer/linux/rpm/libsgx-qe3-logic/libsgx-qe3-logic*.rpm ./linux/installer/rpm/sgx-aesm-service/
153169

154170
.PHONY: rpm_sgx_aesm_service
155171
rpm_sgx_aesm_service: psw
@@ -184,7 +200,7 @@ rpm_sdk_pkg: sdk
184200
./linux/installer/rpm/sdk/build.sh
185201

186202
.PHONY: rpm_psw_pkg
187-
rpm_psw_pkg: rpm_sgx_aesm_service rpm_libsgx_epid rpm_libsgx_launch rpm_libsgx_quote_ex rpm_libsgx_uae_service rpm_libsgx_enclave_common rpm_libsgx_urts rpm_libsgx_ae_qe3
203+
rpm_psw_pkg: rpm_libsgx_pce_logic rpm_libsgx_qe3_logic rpm_sgx_aesm_service rpm_libsgx_epid rpm_libsgx_launch rpm_libsgx_quote_ex rpm_libsgx_uae_service rpm_libsgx_enclave_common rpm_libsgx_urts rpm_libsgx_ae_qe3
188204

189205
.PHONY: rpm_local_repo
190206
rpm_local_repo: rpm_psw_pkg

README.md

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ Intel(R) Software Guard Extensions (Intel(R) SGX) is an Intel technology for app
1111

1212
The Linux\* Intel(R) SGX software stack is comprised of the Intel(R) SGX driver, the Intel(R) SGX SDK, and the Intel(R) SGX Platform Software (PSW). The Intel(R) SGX SDK and Intel(R) SGX PSW are hosted in the [linux-sgx](https://github.com/01org/linux-sgx) project.
1313

14-
The [linux-sgx-driver](https://github.com/01org/linux-sgx-driver) project hosts the out-of-tree driver for the Linux\* Intel(R) SGX software stack, which will be used until the driver upstreaming process is complete.
14+
The [SGXDataCenterAttestationPrimitives](https://github.com/intel/SGXDataCenterAttestationPrimitives/) project maintains an out-of-tree driver for the Linux\* Intel(R) SGX software stack, which will be used until the driver upstreaming process is complete. It is used on the platforms with *Flexible Launch Control* and *Intel(R) AES New Instructions* support and could support both Elliptic Curve Digital Signature algorithm (ECDSA) based attestation and Enhanced Privacy Identification (EPID) based attestation.
15+
The [linux-sgx-driver](https://github.com/01org/linux-sgx-driver) project hosts the other out-of-tree driver for the Linux\* Intel(R) SGX software stack, which will be used until the driver upstreaming process is complete. It is used to support Enhanced Privacy Identification (EPID) based attestation on the platforms without *Flexible Launch Control*.
1516

1617
The repository provides a reference implementation of a Launch Enclave for 'Flexible Launch Control' under [psw/ae/ref_le](psw/ae/ref_le). The reference LE implementation can be used as a basis for enforcing different launch control policy by the platform developer or owner. To build and try it by yourself, please refer to the [ref_le.md](psw/ae/ref_le/ref_le.md) for details.
1718

@@ -28,9 +29,18 @@ Documentation
2829
- [Intel(R) SGX for Linux\* OS](https://01.org/intel-softwareguard-extensions) project home page on [01.org](https://01.org)
2930
- [Intel(R) SGX Programming Reference](https://software.intel.com/sites/default/files/managed/7c/f1/332831-sdm-vol-3d.pdf)
3031

32+
Quick Start
33+
-----------------------------------------
34+
### Use Docker and Docker Compose
35+
```
36+
$ cd docker/build && ./build_compose_run.sh
37+
```
38+
See this [README](docker/build/README.md) for details.
39+
3140
Build and Install the Intel(R) SGX Driver
3241
-----------------------------------------
33-
Follow the instructions in the [linux-sgx-driver](https://github.com/01org/linux-sgx-driver) project to build and install the Intel(R) SGX driver.
42+
Follow the [README.md](https://github.com/intel/SGXDataCenterAttestationPrimitives/blob/master/driver/linux/README.md) in the [SGXDataCenterAttestationPrimitives](https://github.com/intel/SGXDataCenterAttestationPrimitives/) project to build and install the Intel(R) SGX driver.
43+
**NOTE**: The above Intel(R) SGX driver requires *Flexible Launch Control* and *Intel(R) AES New Instructions* support. If your platform doesn't meet the requirement, please follow the instructions in the [linux-sgx-driver](https://github.com/01org/linux-sgx-driver) project to build and install this version of Intel(R) SGX driver.
3444

3545
Build the Intel(R) SGX SDK and Intel(R) SGX PSW Package
3646
-------------------------------------------------------
@@ -49,26 +59,26 @@ Build the Intel(R) SGX SDK and Intel(R) SGX PSW Package
4959
- Use the following command(s) to install the required tools to build the Intel(R) SGX SDK:
5060
* On Ubuntu 16.04:
5161
```
52-
$ sudo apt-get install build-essential ocaml automake autoconf libtool wget python libssl-dev git
62+
$ sudo apt-get install build-essential ocaml automake autoconf libtool wget python libssl-dev git cmake perl
5363
```
5464
* On Ubuntu 18.04:
5565
```
56-
$ sudo apt-get install build-essential ocaml ocamlbuild automake autoconf libtool wget python libssl-dev git
66+
$ sudo apt-get install build-essential ocaml ocamlbuild automake autoconf libtool wget python libssl-dev git cmake perl
5767
```
5868
* On Red Hat Enterprise Linux 7.4, Red Hat Enterprise Linux 8.0 and CentOS 7.5:
5969
```
6070
$ sudo yum groupinstall 'Development Tools'
61-
$ sudo yum install ocaml ocaml-ocamlbuild wget python2 openssl-devel git
71+
$ sudo yum install ocaml ocaml-ocamlbuild wget python2 openssl-devel git cmake perl
6272
```
6373
* On Fedora 27:
6474
```
6575
$ sudo yum groupinstall 'C Development Tools and Libraries'
66-
$ sudo yum install ocaml ocaml-ocamlbuild redhat-rpm-config openssl-devel wget python rpm-build git
76+
$ sudo yum install ocaml ocaml-ocamlbuild redhat-rpm-config openssl-devel wget python rpm-build git cmake perl
6777
```
6878
* On SUSE Linux Enterprise Server 12:
6979
```
7080
$ sudo zypper install --type pattern devel_basis
71-
$ sudo zypper install ocaml ocaml-ocamlbuild automake autoconf libtool wget python libopenssl-devel rpm-build git
81+
$ sudo zypper install ocaml ocaml-ocamlbuild automake autoconf libtool wget python libopenssl-devel rpm-build git cmake perl
7282
```
7383
**Note**: To build Intel(R) SGX SDK, GNU binutils version is required to be 2.26 or above. For Red Hat Enterprise Linux 7.4, you may need to update GNU binutils version using below command:
7484
```

SampleCode/Cxx11SGXDemo/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,7 @@ $(Enclave_Name): Enclave/Enclave_t.o $(Enclave_Cpp_Objects)
256256
@echo "LINK => $@"
257257

258258
$(Signed_Enclave_Name): $(Enclave_Name)
259-
@$(SGX_ENCLAVE_SIGNER) sign -key Enclave/Enclave_private.pem -enclave $(Enclave_Name) -out $@ -config $(Enclave_Config_File)
259+
@$(SGX_ENCLAVE_SIGNER) sign -key Enclave/Enclave_private_test.pem -enclave $(Enclave_Name) -out $@ -config $(Enclave_Config_File)
260260
@echo "SIGN => $@"
261261

262262
.PHONY: clean

SampleCode/LocalAttestation/EnclaveInitiator/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ ENCLAVE_NAME := libenclave_initiator.so
4545
SIGNED_ENCLAVE_NAME := libenclave_initiator.signed.so
4646

4747
$(SIGNED_ENCLAVE_NAME) : $(ENCLAVE_NAME)
48-
@$(SGX_ENCLAVE_SIGNER) sign -key EnclaveInitiator_private.pem -enclave $(ENCLAVE_NAME) -out $@ -config EnclaveInitiator.config.xml
48+
@$(SGX_ENCLAVE_SIGNER) sign -key EnclaveInitiator_private_test.pem -enclave $(ENCLAVE_NAME) -out $@ -config EnclaveInitiator.config.xml
4949
@cp $(SIGNED_ENCLAVE_NAME) $(TOPDIR)/$(OUTDIR)/
5050
@echo "SIGN => $@"
5151

SampleCode/LocalAttestation/EnclaveResponder/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ ENCLAVE_NAME := libenclave_responder.so
4545
SIGNED_ENCLAVE_NAME := libenclave_responder.signed.so
4646

4747
$(SIGNED_ENCLAVE_NAME) : $(ENCLAVE_NAME)
48-
@$(SGX_ENCLAVE_SIGNER) sign -key EnclaveResponder_private.pem -enclave $(ENCLAVE_NAME) -out $@ -config EnclaveResponder.config.xml
48+
@$(SGX_ENCLAVE_SIGNER) sign -key EnclaveResponder_private_test.pem -enclave $(ENCLAVE_NAME) -out $@ -config EnclaveResponder.config.xml
4949
@cp $(SIGNED_ENCLAVE_NAME) $(TOPDIR)/$(OUTDIR)/
5050
@echo "SIGN => $@"
5151

SampleCode/PowerTransition/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,7 @@ $(Enclave_Name): $(Enclave_Objects)
250250
@echo "LINK => $@"
251251

252252
$(Signed_Enclave_Name): $(Enclave_Name)
253-
@$(SGX_ENCLAVE_SIGNER) sign -key Enclave/Enclave_private.pem -enclave $(Enclave_Name) -out $@ -config $(Enclave_Config_File)
253+
@$(SGX_ENCLAVE_SIGNER) sign -key Enclave/Enclave_private_test.pem -enclave $(Enclave_Name) -out $@ -config $(Enclave_Config_File)
254254
@echo "SIGN => $@"
255255

256256

0 commit comments

Comments
 (0)