Support rust nightly-2023-11-17
299 files changed
tree: 73dd0e6796170b653388e69e4d39083690c46067
  1. common/
  2. licenses/
  3. rustlib/
  4. samplecode/
  5. sgx_alloc/
  6. sgx_backtrace/
  7. sgx_build_helper/
  8. sgx_crypto/
  9. sgx_dcap/
  10. sgx_demangle/
  11. sgx_edl/
  12. sgx_ffi/
  13. sgx_key_exchange/
  14. sgx_libc/
  15. sgx_macros/
  16. sgx_no_tstd/
  17. sgx_oc/
  18. sgx_protected_fs/
  19. sgx_rand/
  20. sgx_rsrvmm/
  21. sgx_serialize/
  22. sgx_sync/
  23. sgx_tdh/
  24. sgx_tests/
  25. sgx_trts/
  26. sgx_tse/
  27. sgx_tseal/
  28. sgx_tstd/
  29. sgx_types/
  30. sgx_unwind/
  31. sgx_urts/
  32. tests/
  33. tools/
  34. .asf.yaml
  35. .bazelversion
  36. .gitignore
  37. buildenv.mk
  38. LICENSE
  39. NOTICE
  40. README.md
  41. rust-toolchain
  42. SECURITY.md
README.md

Teaclave SGX SDK v2.0 preview

Teaclave SGX SDK v2.0 is a revamped version. It is much more developer friendly compared to v1.1.

  • supports cargo build + no_std, xargo build and cargo-std-aware mode.
  • Tokio and Tonic is directly available to enclave programming without any change.
  • Refactored Intel‘s SDK using Rust. Only a small portion of Intel’s SDK is required.
  • Improved testing framework. sgx_tstd is well tested now.
  • No need to maintain 100+ 3rd party dependencies. Most dependencies are use-able without any change.

Build system

We still maintain the legacy no_std cargo build support, and xargo build with a customized sysroot. v2.0 supports cargo-std-aware as well.

To switch from these build modes, please specify

  • BUILD_STD=no to use traditional no_std cargo build
  • BUILD_STD=cargo (default setting) to use the new std aware cargo build
  • BUILD_STD=xargo to use xargo build

Samples

We are still working on porting all v1.1 samples to v2.0. Current available samples include:

  • backtrace
  • cov
  • crypto
  • hellworld
  • httpreq
  • hyper-rustls-https-server
  • logger
  • regex
  • rpc (Tonic + Tokio)
  • seal
  • switchless
  • zlib-lazy-static-sample