Commit Graph

106 Commits

Author SHA1 Message Date
Zhang Lili 4d78a1a6cf Rebase to 2.13 & bug fix.
Signed-off-by: Zhang Lili <lili.z.zhang@intel.com>
2021-02-07 15:17:02 +00:00
Zhang Lili ab834b1ebe Fix bug in sim eenter.
Signed-off-by: Zhang Lili <lili.z.zhang@intel.com>
2021-02-03 13:22:51 +00:00
Zhang Lili 60448e9135 Fix comments.
Signed-off-by: Zhang Lili <lili.z.zhang@intel.com>
2021-02-02 14:26:16 +00:00
Zhang Lili 3f05ef43ab Update sim exception handling.
Signed-off-by: Zhang Lili <lili.z.zhang@intel.com>
2021-01-22 14:39:08 +00:00
lzha101 04f576c805 Update u_instructions.cpp
Remove one duplicated line. 

Signed-off-by: Zhang Lili <lili.z.zhang@intel.com>
2020-12-17 16:50:40 +08:00
Zhang Lili 0891f5b40d Add sim instruction ERESUME and support FPE and SEGV signal in sim mode
Signed-off-by: Zhang Lili <lili.z.zhang@intel.com>
2020-12-10 16:34:16 +00:00
Li, Xun 608fe1df4c Linux 2.12 Open Source Gold Release
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>
2020-11-11 17:17:33 +08:00
Zongmin.Gu 9671c99941 Support longjmp in exception handler (#602) 2020-10-23 15:31:38 +08:00
volcano 33f4499173 uswitchless build: delete -g compile option (#596)
Signed-off-by: volcano <volcano_dr@163.com>
2020-09-14 10:54:07 +08:00
Huang, Haitao efb08df570 SDK urtssim: fix Makefile for parallel build
Enforce more strict order in urtssim

Signed-off-by: Haitao Huang <4699115+haitaohuang@users.noreply.github.com>
2020-09-09 18:57:50 -05:00
Yu Ding d10c025eb0 Typo fixes (#588)
Signed-off-by: Yu Ding dingelish@gmail.com
2020-09-09 16:31:22 +08:00
lzha101 4a52d19fd5 Update KSS bits check in sgx_get_key() (#590)
Signed-off-by: Zhang Lili Z <lili.z.zhang@intel.com>
2020-09-07 09:52:01 +08:00
Li, Xun b9b071b544 Linux 2.11 Open Source Gold Release
Supported new OS: RHEL 8.2 and SUSE 15.
Provided standalone Intel(R) SGX DCAP Quote verification library installer.
Added Intel(R) SGX DCAP Platform Certificate ID Retrieval Tool and Multi-package Registration
  Agent (MPA) installers into SGX installation repo.
Fixed bugs.

Signed-off-by: Li, Xun <xun.li@intel.com>
2020-08-28 09:01:06 +08:00
Zhang Lili Z adaeb2af79 Fix bug of setting large reserved momory.
Signed-off-by: Zhang Lili Z <lili.z.zhang@intel.com>
2020-07-23 18:28:33 +08:00
Guilhem Niot 746e602864 Fix some more typos 2020-07-17 10:46:10 +02:00
Li, Xun 60d36e0de7 Linux 2.10 Open Source Gold Release
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>
2020-07-07 08:42:08 +08:00
Li, Xun 1eaa4551d4 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 <xun.li@intel.com>
2020-04-09 14:45:01 +08:00
lzha101 1a65d74374 Merge pull request #506 from lkatalin/python-fix
Change 'is not' to '!=' in gdb_sgx_plugin.py

Signed-off-by: Zhang Lili Z <lili.z.zhang@intel.com>
2020-04-09 08:45:39 +08:00
Lily S 735624409e Change 'is not' to '!=' in gdb_sgx_plugin.py
Signed-off-by: Lily Sturmann <lsturman@redhat.com>
2020-04-08 15:55:18 -04:00
volcano bdb8a6aa7b set pthread_info_tls.m_state = SGX_PTHREAD_EXIT after (#488)
pthread_thread_run() returns

Signed-off-by: volcano <volcano_dr@163.com>
2020-03-27 16:06:13 +08:00
Seth Moore 0280f97a07 Fix CPU feature detection on non-Intel CPUs (#474)
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>
2020-03-16 10:10:35 +08:00
Li, Xun 4589daddd5 Linux 2.9 Open Source Gold Release
Fixed bugs.

Signed-off-by: Li, Xun <xun.li@intel.com>
2020-03-10 12:47:50 +08:00
Yu Ding e0a51c4974 Fix sgx-gdb throw exceptions on every ocall in Rust-SGX (#489)
* 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
2020-02-21 16:15:31 +08:00
Zhang Lili Z 9ddec08fb9 Linux 2.8 Open Source Gold Release.
Signed-off-by: Zhang Lili Z <lili.z.zhang@intel.com>
2020-01-16 09:56:26 +08:00
Li, Xun 58fea2cbe1 Remove key checking in get_launch_token() of sgx_launch_sim
The key is not used to check whether a enclave can get provision key
or not in simulation mode.

Signed-off-by: Li, Xun <xun.li@intel.com>
2019-12-18 13:11:24 +08:00
Li, Xun d166ff0c80 Linux 2.7.1 Open Source Gold Release
Updated OpenSSL to 1.1.1d.
Fixed bugs.

Signed-off-by: Li, Xun <xun.li@intel.com>
2019-11-12 13:55:35 +08:00
lzha101 181b56a220 Merge pull request #450 from deeglaze/patch-5
Add missing #include to trts_veh.cpp

Signed-off-by: Zhang Lili Z <lili.z.zhang@intel.com>
2019-10-23 16:53:13 +08:00
lzha101 e240c6150b Merge pull request #455 from deeglaze/elf_error_messages
Add trace messages for elf parser failures

Signed-off-by: Zhang Lili Z <lili.z.zhang@intel.com>
2019-10-23 16:52:54 +08:00
lzha101 52f08f61bb Merge pull request #448 from xiangquanliu/sgx_enclave_crash_error
Fix sample enclave crash error

Signed-off-by: Zhang Lili Z <lili.z.zhang@intel.com>
2019-10-21 17:00:12 +08:00
Zhang Lili Z b13ab0eae7 Linux 2.7 Open Source Gold Release
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>
2019-10-18 00:16:40 +08:00
Dionna Glaze 898853bd97 Add trace messages for elf parser failures
These messages are useful for toolchain debugging.

Signed-off-by: Dionna Glaze <dionnaglaze@google.com>
2019-10-10 08:59:23 -07:00
Dionna Amalie Glaze 5bb8bd7738 Add missing #include to trts_veh.cpp
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>
2019-10-01 13:53:52 -07:00
xiangqua feb9d6c36c Fix sample enclave crash error
Signed-off-by: xiangqua <xiangquan.liu@intel.com>
2019-09-27 15:10:13 +08:00
Li, Xun c505e6129a Linux 2.6 Open Source Gold Release
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>
2019-07-05 14:12:24 +08:00
lzha101 dc07760567 Merge pull request #221 from ghost/enable-typeindex
Expose typeinfo and type_index in SGX

Signed-off-by: Zhang Lili Z lili.z.zhang@intel.com
2019-05-16 16:30:33 +08:00
Fábio Silva f0685312de Fix typo on edger8r *_u.h generated header file
- "sgx_satus_t" -> "sgx_status_t"

Signed-off-by: Fábio Silva <fabio.fernando.osilva@gmail.com>
2019-05-07 23:17:56 -03:00
Li, Xun d10cabebb5 Linux 2.5 Open Source Gold Release
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>
2019-04-02 13:26:58 +08:00
Dionna Amalie Glaze 497d5c86a0 Do not mix static and extern "C"
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>
2019-02-12 11:14:47 -08:00
Yu Ding dd54bf1522 Fix make -j dependency
Signed-off-by: Yu Ding <dingelish@gmail.com>
2018-12-31 00:56:55 -08:00
Alaa Kryeem cc72b823da Update OpenSSL version used in Tcrypto to 1.1.0j.
This version mitigates a side channel attack on ECDSA.

Signed-off-by: Kryeem, Alaa <alaa.kryeem@intel.com>
2018-12-20 22:00:09 +02:00
lzha101 d3bcf9918d Merge pull request #352 from deeglaze/parse_setcontext
Fix setcontext.S parse error

Signed-off-by: Zhang Lili Z <lili.z.zhang@intel.com>
2018-12-20 15:38:33 +08:00
Li, Xun 28817533cc Linux 2.4 Open Source Gold Release
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>
2018-12-20 11:02:39 +08:00
Dionna Glaze 411424e8c6 Fix setcontext.S parse error
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>
2018-12-12 10:51:04 -08:00
Yu Ding aa51bdf614 Fix typo
Signed-off-by: Yu Ding <dingelish@gmail.com>
2018-11-12 13:47:51 -08:00
Dionna Glaze 1cd53405cc Remove using namespace std
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>
2018-09-29 21:01:49 -07:00
lzha101 c08051ec13 Merge pull request #313 from dingelish/master
Fix buffer check error of p_additional_MACtext_length

Signed-off-by: Zhang Lili Z <lili.z.zhang@intel.com>
2018-09-19 10:45:21 +08:00
Yu Ding b38e0d8cdd Fix buffer check error of p_decrypted_text_length
Signed-off-by: Yu Ding <dingelish@gmail.com>
2018-09-17 10:06:41 -07:00
lzha101 76b8328a63 Merge pull request #304 from Naoya-Horiguchi/post/nanosecond_seeding
seed with nanosecond timestamp in simulation mode

Signed-off-by: Zhang Lili Z <lili.z.zhang@intel.com>
2018-09-17 14:36:31 +08:00
Yu Ding 371d48e89d Fix buffer check error of p_additional_MACtext_length
Signed-off-by: Yu Ding <dingelish@gmail.com>
2018-09-13 19:26:02 -07:00
Li, Xun 68f44d6e68 Linux 2.3 Open Source Gold Release
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>
2018-09-13 09:47:41 +08:00