feat: new feature gate `initenv` to disable env ocalls on demand
3 files changed
tree: 8a0d8413272243c59193adc8e5a21d0fa6afd72b
  1. .github/
  2. common/
  3. licenses/
  4. rustlib/
  5. samplecode/
  6. sgx_alloc/
  7. sgx_backtrace/
  8. sgx_build_helper/
  9. sgx_crypto/
  10. sgx_dcap/
  11. sgx_demangle/
  12. sgx_edl/
  13. sgx_ffi/
  14. sgx_key_exchange/
  15. sgx_libc/
  16. sgx_macros/
  17. sgx_no_tstd/
  18. sgx_oc/
  19. sgx_protected_fs/
  20. sgx_rand/
  21. sgx_rsrvmm/
  22. sgx_serialize/
  23. sgx_sync/
  24. sgx_tdh/
  25. sgx_tests/
  26. sgx_trts/
  27. sgx_tse/
  28. sgx_tseal/
  29. sgx_tstd/
  30. sgx_types/
  31. sgx_unwind/
  32. sgx_urts/
  33. tests/
  34. tools/
  35. .asf.yaml
  36. .bazelversion
  37. .gitignore
  38. buildenv.mk
  39. LICENSE
  40. NOTICE
  41. README.md
  42. rust-toolchain
  43. 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
  • hellworld
  • httpreq
  • rpc (Tonic + Tokio)
  • seal
  • switchless