Skip to content

Commit 321a658

Browse files
committed
Linux 2.16 Open Source Gold Release
Upgraded to OpenSSL 1.1.1m. Provided RA-TLS (Remote Attestation based Transport Layer Security) APIs and Samples. Supported PKRU (Protection Key rights Register) in Enclave. Added APIs of SHA384 and VerifyReport2 to support TDX. Enhanced QPL (Quote Provider Library) to support caching Intel PCK (Provisioning Certificate Key) certificate chain in local memory, or retrieving Intel PCK cert chain from local HTTP/S address. Upgraded Intel ECDSA Quote Verification Enclave to integrate SgxSSL/OpenSSL version 1.1.1m. Introduced Intel ID enclave for QE identity generation. Fixed bugs. Signed-off-by: Li, Xun <[email protected]>
1 parent 0af6a83 commit 321a658

File tree

212 files changed

+11971
-329
lines changed

Some content is hidden

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

212 files changed

+11971
-329
lines changed

License.txt

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1577,3 +1577,55 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
15771577
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
15781578
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
15791579
SOFTWARE.
1580+
1581+
1582+
1583+
21. Remote Attestation based TLS and Sample
1584+
1585+
MIT License
1586+
1587+
Copyright (c) Open Enclave SDK contributors.
1588+
1589+
Permission is hereby granted, free of charge, to any person obtaining a copy
1590+
of this software and associated documentation files (the "Software"), to deal
1591+
in the Software without restriction, including without limitation the rights
1592+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1593+
copies of the Software, and to permit persons to whom the Software is
1594+
furnished to do so, subject to the following conditions:
1595+
1596+
The above copyright notice and this permission notice shall be included in all
1597+
copies or substantial portions of the Software.
1598+
1599+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1600+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1601+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1602+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1603+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1604+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1605+
SOFTWARE
1606+
1607+
22. musl C
1608+
1609+
musl as a whole is licensed under the following standard MIT license:
1610+
1611+
----------------------------------------------------------------------
1612+
Copyright © 2005-2020 Rich Felker, et al.
1613+
1614+
Permission is hereby granted, free of charge, to any person obtaining
1615+
a copy of this software and associated documentation files (the
1616+
"Software"), to deal in the Software without restriction, including
1617+
without limitation the rights to use, copy, modify, merge, publish,
1618+
distribute, sublicense, and/or sell copies of the Software, and to
1619+
permit persons to whom the Software is furnished to do so, subject to
1620+
the following conditions:
1621+
1622+
The above copyright notice and this permission notice shall be
1623+
included in all copies or substantial portions of the Software.
1624+
1625+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
1626+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1627+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
1628+
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
1629+
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
1630+
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
1631+
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Makefile

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -90,8 +90,12 @@ sdk_install_pkg: sdk
9090
psw_install_pkg: psw
9191
ifeq ("$(wildcard ./external/dcap_source/QuoteGeneration/psw/ae/data/prebuilt/libsgx_qe3.signed.so)", "")
9292
./external/dcap_source/QuoteGeneration/download_prebuilt.sh
93+
endif
94+
ifeq ("$(wildcard ./external/dcap_source/QuoteGeneration/psw/ae/data/prebuilt/libsgx_id_enclave.signed.so)", "")
95+
./external/dcap_source/QuoteGeneration/download_prebuilt.sh
9396
endif
9497
$(CP) external/dcap_source/QuoteGeneration/psw/ae/data/prebuilt/libsgx_qe3.signed.so $(BUILD_DIR)
98+
$(CP) external/dcap_source/QuoteGeneration/psw/ae/data/prebuilt/libsgx_id_enclave.signed.so $(BUILD_DIR)
9599
./linux/installer/bin/build-installpkg.sh psw
96100

97101
.PHONY: deb_libsgx_ae_qe3
@@ -101,6 +105,13 @@ ifeq ("$(wildcard ./external/dcap_source/QuoteGeneration/psw/ae/data/prebuilt/li
101105
endif
102106
$(MAKE) -C external/dcap_source/QuoteGeneration deb_sgx_ae_qe3_pkg
103107
$(CP) external/dcap_source/QuoteGeneration/installer/linux/deb/libsgx-ae-qe3/libsgx-ae-qe3*.deb ./linux/installer/deb/sgx-aesm-service/
108+
.PHONY: deb_libsgx_ae_id_enclave
109+
deb_libsgx_ae_id_enclave:
110+
ifeq ("$(wildcard ./external/dcap_source/QuoteGeneration/psw/ae/data/prebuilt/libsgx_id_enclave.signed.so)", "")
111+
./external/dcap_source/QuoteGeneration/download_prebuilt.sh
112+
endif
113+
$(MAKE) -C external/dcap_source/QuoteGeneration deb_sgx_ae_id_enclave_pkg
114+
$(CP) external/dcap_source/QuoteGeneration/installer/linux/deb/libsgx-ae-id-enclave/libsgx-ae-id-enclave*.deb ./linux/installer/deb/sgx-aesm-service/
104115
.PHONY: deb_libsgx_qe3_logic
105116
deb_libsgx_qe3_logic: psw
106117
$(MAKE) -C external/dcap_source/QuoteGeneration deb_sgx_qe3_logic_pkg
@@ -139,12 +150,12 @@ deb_libsgx_urts: psw
139150
./linux/installer/deb/libsgx-urts/build.sh
140151

141152
.PHONY: deb_libsgx_headers_pkg
142-
deb_libsgx_headers_pkg:
153+
deb_libsgx_headers_pkg:
143154
./linux/installer/deb/libsgx-headers/build.sh
144155

145156
ifeq ($(CC_BELOW_5_2), 1)
146157
.PHONY: deb_psw_pkg
147-
deb_psw_pkg: deb_libsgx_headers_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
158+
deb_psw_pkg: deb_libsgx_headers_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_ae_id_enclave
148159
else
149160
.PHONY: deb_libsgx_dcap_default_qpl
150161
deb_libsgx_dcap_default_qpl:
@@ -188,7 +199,7 @@ deb_sgx_ra_service_pkg:
188199

189200

190201
.PHONY: deb_psw_pkg
191-
deb_psw_pkg: deb_libsgx_headers_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 deb_libsgx_dcap_ql deb_libsgx_ae_qve deb_sgx_dcap_quote_verify deb_sgx_pck_id_retrieval_tool_pkg deb_sgx_ra_service_pkg
202+
deb_psw_pkg: deb_libsgx_headers_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_ae_id_enclave deb_libsgx_dcap_default_qpl deb_libsgx_dcap_pccs deb_libsgx_dcap_ql deb_libsgx_ae_qve deb_sgx_dcap_quote_verify deb_sgx_pck_id_retrieval_tool_pkg deb_sgx_ra_service_pkg
192203
endif
193204

194205
.PHONY: deb_local_repo
@@ -202,6 +213,13 @@ ifeq ("$(wildcard ./external/dcap_source/QuoteGeneration/psw/ae/data/prebuilt/li
202213
endif
203214
$(MAKE) -C external/dcap_source/QuoteGeneration rpm_sgx_ae_qe3_pkg
204215
$(CP) external/dcap_source/QuoteGeneration/installer/linux/rpm/libsgx-ae-qe3/libsgx-ae-qe3*.rpm ./linux/installer/rpm/sgx-aesm-service/
216+
.PHONY: rpm_libsgx_ae_id_enclave
217+
rpm_libsgx_ae_id_enclave:
218+
ifeq ("$(wildcard ./external/dcap_source/QuoteGeneration/psw/ae/data/prebuilt/libsgx_id_enclave.signed.so)", "")
219+
./external/dcap_source/QuoteGeneration/download_prebuilt.sh
220+
endif
221+
$(MAKE) -C external/dcap_source/QuoteGeneration rpm_sgx_ae_id_enclave_pkg
222+
$(CP) external/dcap_source/QuoteGeneration/installer/linux/rpm/libsgx-ae-id-enclave/libsgx-ae-id-enclave*.rpm ./linux/installer/rpm/sgx-aesm-service/
205223
.PHONY: rpm_libsgx_pce_logic
206224
rpm_libsgx_pce_logic: psw
207225
$(MAKE) -C external/dcap_source/QuoteGeneration rpm_sgx_pce_logic_pkg
@@ -244,12 +262,12 @@ rpm_sdk_pkg: sdk
244262
./linux/installer/rpm/sdk/build.sh
245263

246264
.PHONY: rpm_libsgx_headers_pkg
247-
rpm_libsgx_headers_pkg:
265+
rpm_libsgx_headers_pkg:
248266
./linux/installer/rpm/libsgx-headers/build.sh
249267

250268
ifeq ($(CC_BELOW_5_2), 1)
251269
.PHONY: rpm_psw_pkg
252-
rpm_psw_pkg: rpm_libsgx_headers_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
270+
rpm_psw_pkg: rpm_libsgx_headers_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 rpm_libsgx_ae_id_enclave
253271
else
254272
.PHONY: rpm_libsgx_dcap_default_qpl
255273
rpm_libsgx_dcap_default_qpl:
@@ -291,7 +309,7 @@ rpm_sgx_ra_service_pkg:
291309
$(CP) external/dcap_source/tools/SGXPlatformRegistration/build/installer/libsgx-ra-*rpm ./linux/installer/rpm/sgx-aesm-service/
292310

293311
.PHONY: rpm_psw_pkg
294-
rpm_psw_pkg: rpm_libsgx_headers_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 rpm_libsgx_dcap_default_qpl rpm_libsgx_dcap_pccs rpm_libsgx_dcap_ql rpm_libsgx_ae_qve rpm_sgx_dcap_quote_verify rpm_sgx_pck_id_retrieval_tool_pkg rpm_sgx_ra_service_pkg
312+
rpm_psw_pkg: rpm_libsgx_headers_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 rpm_libsgx_ae_id_enclave rpm_libsgx_dcap_default_qpl rpm_libsgx_dcap_pccs rpm_libsgx_dcap_ql rpm_libsgx_ae_qve rpm_sgx_dcap_quote_verify rpm_sgx_pck_id_retrieval_tool_pkg rpm_sgx_ra_service_pkg
295313
endif
296314

297315
.PHONY: rpm_local_repo
@@ -335,6 +353,7 @@ ifeq ("$(shell test -f external/dcap_source/QuoteVerification/Makefile && echo M
335353
@$(MAKE) -C external/dcap_source/QuoteGeneration clean
336354
./external/dcap_source/QuoteGeneration/installer/linux/deb/libsgx-ae-qve/clean.sh
337355
./external/dcap_source/QuoteGeneration/installer/linux/deb/libsgx-ae-qe3/clean.sh
356+
./external/dcap_source/QuoteGeneration/installer/linux/deb/libsgx-ae-id-enclave/clean.sh
338357
./external/dcap_source/QuoteGeneration/installer/linux/deb/libsgx-dcap-default-qpl/clean.sh
339358
./external/dcap_source/QuoteGeneration/installer/linux/deb/libsgx-dcap-ql/clean.sh
340359
./external/dcap_source/QuoteGeneration/installer/linux/deb/libsgx-pce-logic/clean.sh
@@ -343,6 +362,7 @@ ifeq ("$(shell test -f external/dcap_source/QuoteVerification/Makefile && echo M
343362
./external/dcap_source/QuoteGeneration/installer/linux/deb/sgx-dcap-pccs/clean.sh
344363
./external/dcap_source/QuoteGeneration/installer/linux/rpm/libsgx-ae-qve/clean.sh
345364
./external/dcap_source/QuoteGeneration/installer/linux/rpm/libsgx-ae-qe3/clean.sh
365+
./external/dcap_source/QuoteGeneration/installer/linux/rpm/libsgx-ae-id-enclave/clean.sh
346366
./external/dcap_source/QuoteGeneration/installer/linux/rpm/libsgx-dcap-default-qpl/clean.sh
347367
./external/dcap_source/QuoteGeneration/installer/linux/rpm/libsgx-dcap-ql/clean.sh
348368
./external/dcap_source/QuoteGeneration/installer/linux/rpm/libsgx-pce-logic/clean.sh

Makefile.psw_dcap

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
#
2+
# Copyright (C) 2011-2021 Intel Corporation. All rights reserved.
3+
#
4+
# Redistribution and use in source and binary forms, with or without
5+
# modification, are permitted provided that the following conditions
6+
# are met:
7+
#
8+
# * Redistributions of source code must retain the above copyright
9+
# notice, this list of conditions and the following disclaimer.
10+
# * Redistributions in binary form must reproduce the above copyright
11+
# notice, this list of conditions and the following disclaimer in
12+
# the documentation and/or other materials provided with the
13+
# distribution.
14+
# * Neither the name of Intel Corporation nor the names of its
15+
# contributors may be used to endorse or promote products derived
16+
# from this software without specific prior written permission.
17+
#
18+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19+
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20+
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21+
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22+
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23+
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24+
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25+
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26+
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27+
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28+
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29+
#
30+
#
31+
32+
include buildenv.mk
33+
34+
define DIR_EXISTS
35+
$(shell test -d $(1) && echo "$(1)")
36+
endef
37+
38+
SGX_SDK := /tmp/intel/sgxsdk
39+
export SGX_SDK
40+
41+
.PHONY: build psw dcap install clean sdk install_sdk
42+
43+
build: psw dcap
44+
45+
psw: install_sdk
46+
@$(MAKE) -C psw/ USE_OPT_LIBS=$(USE_OPT_LIBS)
47+
48+
dcap: install_sdk
49+
@$(MAKE) -C external/dcap_source/
50+
51+
install:
52+
@$(MAKE) -I linux/installer/common/psw-dcap -f linux/installer/common/psw-dcap/Makefile SRCDIR=. DESTDIR=$(DESTDIR) install
53+
54+
clean:
55+
@$(MAKE) -C psw/ clean
56+
@$(MAKE) -C external/dcap_source/ clean
57+
@$(MAKE) -C sdk/ clean
58+
ifneq ($(call DIR_EXISTS,$(SGX_SDK)),)
59+
$(SGX_SDK)/uninstall.sh
60+
endif
61+
62+
sdk:
63+
$(MAKE) -C sdk/ USE_OPT_LIBS=$(USE_OPT_LIBS)
64+
$(MAKE) -C external/dcap_source/QuoteVerification/dcap_tvl clean
65+
$(MAKE) -C external/dcap_source/QuoteVerification/dcap_tvl
66+
67+
install_sdk: sdk
68+
./linux/installer/bin/build-installpkg.sh sdk
69+
ifeq ($(call DIR_EXISTS,$(SGX_SDK)),)
70+
./linux/installer/bin/sgx_linux_x64_sdk_*.bin --prefix=$(dir $(SGX_SDK))
71+
endif

README.md

Lines changed: 21 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -91,8 +91,8 @@ Build the Intel(R) SGX SDK and Intel(R) SGX PSW Package
9191
* Ubuntu\* 18.04 LTS Server 64bits
9292
* Ubuntu\* 20.04 LTS Desktop 64bits
9393
* Ubuntu\* 20.04 LTS Server 64bits
94-
* Red Hat Enterprise Linux Server release 8.2 64bits
95-
* CentOS 8.2 64bits
94+
* Red Hat Enterprise Linux Server release 8.4 64bits
95+
* CentOS Stream 8 64bits
9696

9797
- Use the following command(s) to install the required tools to build the Intel(R) SGX SDK:
9898
* On Ubuntu 18.04:
@@ -103,13 +103,13 @@ Build the Intel(R) SGX SDK and Intel(R) SGX PSW Package
103103
```
104104
$ sudo apt-get install build-essential ocaml ocamlbuild automake autoconf libtool wget python-is-python3 libssl-dev git cmake perl
105105
```
106-
* On Red Hat Enterprise Linux 8.2:
106+
* On Red Hat Enterprise Linux 8.4:
107107
```
108108
$ sudo yum groupinstall 'Development Tools'
109109
$ sudo yum install ocaml ocaml-ocamlbuild wget python2 openssl-devel git cmake perl
110110
$ sudo alternatives --set python /usr/bin/python2
111111
```
112-
* On CentOS 8.2:
112+
* On CentOS Stream 8:
113113
```
114114
$ sudo dnf group install 'Development Tools'
115115
$ sudo dnf --enablerepo=PowerTools install ocaml ocaml-ocamlbuild redhat-rpm-config openssl-devel wget rpm-build git cmake perl python2
@@ -122,11 +122,11 @@ Build the Intel(R) SGX SDK and Intel(R) SGX PSW Package
122122
```
123123
$ sudo apt-get install libssl-dev libcurl4-openssl-dev protobuf-compiler libprotobuf-dev debhelper cmake reprepro unzip
124124
```
125-
* On Red Hat Enterprise Linux 8.2:
125+
* On Red Hat Enterprise Linux 8.4:
126126
```
127127
$ sudo yum install openssl-devel libcurl-devel protobuf-devel cmake rpm-build createrepo yum-utils
128128
```
129-
* On CentOS 8.2:
129+
* On CentOS Stream 8:
130130
```
131131
$ sudo dnf --enablerepo=PowerTools install openssl-devel libcurl-devel protobuf-devel cmake rpm-build createrepo yum-utils
132132
```
@@ -231,7 +231,7 @@ You can find the tools and libraries generated in the `build/linux` directory.
231231
```
232232
$ make deb_psw_pkg DEBUG=1
233233
```
234-
* On Red Hat Enterprise Linux 8.2 and CentOS 8.2:
234+
* On Red Hat Enterprise Linux 8.4 and CentOS Stream 8:
235235
```
236236
$ make rpm_psw_pkg
237237
```
@@ -275,12 +275,12 @@ You can find the tools and libraries generated in the `build/linux` directory.
275275
**Note**: The above command builds the local package repository. If you want to use it, you need to add it to the system repository configuration. Since the local package repository is not signed with GPG, you should ignore the gpgcheck when installing the packages.
276276
277277
- To add the local RPM package repository to the system repository configuration, you can use the following command. You need to replace PATH_TO_LOCAL_REPO with the proper path on your system:
278-
* On Red Hat Enterprise Linux 8.2 and CentOS 8.2:
278+
* On Red Hat Enterprise Linux 8.4 and CentOS Stream 8:
279279
```
280280
$ sudo yum-config-manager --add-repo file://PATH_TO_LOCAL_REPO
281281
```
282282
- To ignore the gpgcheck when you install the package, enter the following command:
283-
* On Red Hat Enterprise Linux 8.2 and CentOS 8.2:
283+
* On Red Hat Enterprise Linux 8.4 and CentOS Stream 8:
284284
```
285285
$ sudo yum --nogpgcheck install <package>
286286
```
@@ -293,14 +293,14 @@ Install the Intel(R) SGX SDK
293293
* Ubuntu\* 18.04 LTS Server 64bits
294294
* Ubuntu\* 20.04 LTS Desktop 64bits
295295
* Ubuntu\* 20.04 LTS Server 64bits
296-
* Red Hat Enterprise Linux Server release 8.2 64bits
297-
* CentOS 8.2 64bits
296+
* Red Hat Enterprise Linux Server release 8.4 64bits
297+
* CentOS Stream 8 64bits
298298
- Use the following command to install the required tool to use Intel(R) SGX SDK:
299299
* On Ubuntu 18.04 and Ubuntu 20.04:
300300
```
301301
$ sudo apt-get install build-essential python
302302
```
303-
* On Red Hat Enterprise Linux 8.2 and CentOS 8.2:
303+
* On Red Hat Enterprise Linux 8.4 and CentOS Stream 8:
304304
```
305305
$ sudo yum groupinstall 'Development Tools'
306306
$ sudo yum install python2
@@ -357,8 +357,8 @@ Install the Intel(R) SGX PSW
357357
* Ubuntu\* 18.04 LTS Server 64bits
358358
* Ubuntu\* 20.04 LTS Desktop 64bits
359359
* Ubuntu\* 20.04 LTS Server 64bits
360-
* Red Hat Enterprise Linux Server release 8.2 64bits
361-
* CentOS 8.2 64bits
360+
* Red Hat Enterprise Linux Server release 8.4 64bits
361+
* CentOS Stream 8 64bits
362362
- Ensure that you have a system with the following required hardware:
363363
* 6th Generation Intel(R) Core(TM) Processor or newer
364364
- Configure the system with the **Intel SGX hardware enabled** option and install Intel(R) SGX driver in advance.
@@ -368,11 +368,11 @@ Install the Intel(R) SGX PSW
368368
```
369369
$ sudo apt-get install libssl-dev libcurl4-openssl-dev libprotobuf-dev
370370
```
371-
* On Red Hat Enterprise Linux 8.2:
371+
* On Red Hat Enterprise Linux 8.4:
372372
```
373373
$ sudo yum install openssl-devel libcurl-devel protobuf-devel
374374
```
375-
* On CentOS 8.2:
375+
* On CentOS Stream 8:
376376
```
377377
$ sudo dnf --enablerepo=PowerTools install libcurl-devel protobuf-devel
378378
```
@@ -382,7 +382,7 @@ The SGX PSW provides 3 services: launch, EPID-based attestation, and algorithm a
382382
383383
#### Using the local repo(recommended)
384384
385-
| |Ubuntu 18.04 and Ubuntu 20.04|Red Hat Enterprise Linux 8.2, CentOS 8.2|
385+
| |Ubuntu 18.04 and Ubuntu 20.04|Red Hat Enterprise Linux 8.4, CentOS Stream 8|
386386
| ------------ | ------------ | ------------ |
387387
|launch service |apt-get install libsgx-launch libsgx-urts|yum install libsgx-launch libsgx-urts|
388388
|EPID-based attestation service|apt-get install libsgx-epid libsgx-urts|yum install libsgx-epid libsgx-urts|
@@ -407,7 +407,10 @@ Some packages are configured with recommended dependency on other packages that
407407
```
408408
--no-install-recommends
409409
```
410-
**NOTE** On rpm based system, rpmbuild>=4.12 is required to enable similar features.
410+
* On Red Hat Enterprise Linux 8.4 and CentOS Stream 8:
411+
```
412+
--setopt=install_weak_deps=False
413+
```
411414
412415
### ECDSA attestation
413416
To enable ECDSA attestation

SampleCode/Cxx14SGXDemo/Enclave/TrustedLibrary/Libcxx.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -294,8 +294,8 @@ void ecall_cxx14_equal_mismatch_permutation_new_overloads()
294294
printf("first pair of different values: (%d, %d)\n",
295295
*diff_pair.first, *diff_pair.second);
296296

297-
constexpr auto v_permu1 = {1, 2, 3, 4, 5};
298-
constexpr auto v_permu2 = {3, 5, 4, 1, 9};
297+
auto v_permu1 = {1, 2, 3, 4, 5};
298+
auto v_permu2 = {3, 5, 4, 1, 9};
299299
printf("v_permu1 and v_permu2 is_permutation: %s\n",
300300
std::is_permutation(v_permu1.begin(), v_permu1.end(),
301301
v_permu2.begin()) ? "True" : "False");

0 commit comments

Comments
 (0)