Added Ubuntu 20.04 and CentOS 8.2 support.
Added Intel(R) Provisioning Certification Service V3 API support for ECDSA attestation.
Fixed bugs.
Signed-off-by: Li, Xun <xun.li@intel.com>
Provided a reproducible SDK.
Supported new OS: RHEL 8.1, CentOS 8.1 and Fedora 31.
Supported user to specify platform id in PCK Cert ID Retrieval Tool’s command line option.
Added ability to execute Platform Cert ID Retrieval Tool on multi-package platforms without
loading enclaves. PCCS now supports this functionality. The platform still needs to support
SGX.
Updated Platform Cert ID Retrieval Tool and Multi-package registration tool to align with BIOS
platform manifest changes.
Added .deb and .rpm installers for Platform Cert ID Retrieval Tool and Multi-package
Registration Agent.
Fixed bugs.
Signed-off-by: Li, Xun <xun.li@intel.com>
Some developers may have workstations that are not Intel
based. These developers should be able to test their enclaves
with the SGX simulation before building real SGX enclaves and
running those enclaves on genuine Intel processors.
By fixing CPU feature detection, developers with non-Intel
workstations can use SGX simulation to develop SGX enclaves.
Signed-off-by: Seth Moore <sethmo@google.com>
* Fix sgx-gdb throw exceptions on every ocall in Rust-SGX
In Rust-SGX environment, `sgx-gdb` always throws exception after ocall:
```
Python Exception <class 'gdb.error'> syntax error in expression, near `)0x7fffffffd840 = 0'.:
```
And the debugger stops immediately. At this time, the debugger is working in `Rust` mode instead of `C` mode:
```
gdb-peda$ set *(uintptr_t *)0x7fffffffd6d0 = 0
syntax error in expression, near `)0x7fffffffd6d0 = 0'.
gdb-peda$ set *(u32)0x7fffffffd6d0 = 0
syntax error in expression, near `0x7fffffffd6d0 = 0'.
gdb-peda$ p sizeof(u32)
$4 = 0x4
gdb-peda$ show language
The current source language is "auto; currently rust".
gdb-peda$ set language c
gdb-peda$ set *(uintptr_t *)0x7fffffffd6d0 = 0
gdb-peda$
```
This PR helps set the language to `c` before execution of essential gdb commands, and rolls back to `auto` afterwards. This would benefit lots of developers who are developing SGX enclaves in other languages.
Signed-off-by: Yu Ding <dingelish@gmail.com>
* Fix
Changes:
Added a command option “-resign” for Signing Tool.
Split the header file of Un-trusted Architecture Services.
Supported Red Hat* Enterprise Linux* Server 8.0 (for x86_64). And we do not support
Red Hat* Enterprise Linux* Server 7.6 (for x86_64) from this release
Added support for new version Intel(R) Provisioning Certification Server interfaces.
Added new libraries libsgx_epid.so, libsgx_launch.so, libsgx_platform.so and libsgx_quote_ex.so
Fixed bugs.
Signed-off-by: Zhang Lili Z <lili.z.zhang@intel.com>
The ce_cdefs header defines SE_64, which this source file depends on.
When building with clang, this missing header causes the build to break.
Signed-off-by: Dionna Glaze <drdeeglaze@gmail.com>
Added support for Reproducible Enclave Build using Docker file.
Added support for Intel AVX-512 instructions and Intel SHA Extensions New Instructions (SHA-NI) in trusted libraries.
Support both EPID and ECDSA based quote for quoting related interfaces in sgx_uae_service library.
Updated key exchange library to support both EPID and ECDSA based remote attestation.
Support new interface to check platform information blob from remote attestation response message.
Fixed bugs.
Signed-off-by: Li, Xun <xun.li@intel.com>
Added new APIs in sgx_uae_service.h and sgx_ukey_exchange.h to support ECDSA quote based remote attestation.
The set of legacy APIs supports EPID only and the set of new APIs supports ECDSA quotes.
Enhanced Edger8r with structure deep-copy feature.
Fixed bugs.
Signed-off-by: Li, Xun <xun.li@intel.com>
The meaning of 'static' is to make a symbol private to the source
file, whereas 'extern "C"' is meant for linking symbols across
files with an unmangled name. The combination of the two allowed
by GCC is non-standard.
Signed-off-by: Dionna Glaze <dionnaglaze@google.com>
Added support for the Key Separation and Sharing (KSS) feature.
Provided a set of new encryption and decryption functions such as sgx_hmac256_*.
Provided a new untrusted API: sgx_get_target_info.
Provided a new untrusted API: sgx_create_enclave_from_buffer_ex.
Updated the cryptography library and Architecture Enclaves to use Intel(R) Integrated
Performance Primitives Cryptography 2019 Update 1.
Fixed bugs.
Signed-off-by: Li, Xun <xun.li@intel.com>
When this file is parsed on its own for syntactic correctness (via
bazel's parse_headers feature), the use of SIGSET_BYTE_SIZE in
$SIGSET_BYTE_SIZE fails to parse as $(64/8). This simplifies the
expression so that $8 is syntactically correct.
Signed-off-by: Dionna Glaze <dionnaglaze@google.com>
Header files that contain "using namespace std;" do not work well in
codebases that have custom implementations for common classes such as
"string". This is a C++ Core guideline (SF.7).
Signed-off-by: Dionna Glaze <dionnaglaze@google.com>
Support for Ubuntu 18.04 LTS 64-bit Desktop and Server version
Provided a new set of SGX common loader APIs in sgx_enclave_common.h
Provided the sample code for Switchless Call
Provided a new API in tcrypto: sgx_ecc256_calculate_pub_from_priv
sgx_create_enclave API will ignore the parameter of launch token and will not update it after function successfully returns
Change Intel SGX PSW installer for Ubuntu by
- Using .deb installer.
- Using name libsgx-enclave-common_{version string}-1_amd64.deb.
- Installing Intel SGX Enclave Common loader library.
Bug fixes
Signed-off-by: Li, Xun <xun.li@intel.com>