polish readme.md
1 file changed
tree: c4b51aae8162a82b5f6f27d678c91c0267cbf782
  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. .gitignore
  37. .licenserc.yaml
  38. buildenv.mk
  39. DISCLAIMER
  40. LICENSE
  41. NOTICE
  42. README.md
  43. rust-toolchain
  44. SECURITY.md
README.md

Teaclave SGX SDK

License Homepage

Apache Teaclave SGX SDK is a Rust SDK for developing Intel SGX applications. It enables developers to write secure, privacy-preserving applications using Intel Software Guard Extensions (SGX) technology with the safety and performance benefits of the Rust programming language.

Overview

The Apache Teaclave SGX SDK provides a comprehensive development environment for building Intel SGX enclaves in Rust. The current version (v2.0) offers significant improvements over the legacy v1.1 , including:

  • Modern Build System: Supports cargo build with no_std, xargo build, and cargo-std-aware modes
  • Rich Ecosystem: Direct support for Tokio and Tonic in enclave programming without modifications
  • Lightweight Architecture: Refactored Intel‘s SGX SDK using Rust, requiring only a minimal portion of Intel’s original SDK
  • Robust Testing: Comprehensive testing framework with well-tested sgx_tstd standard library
  • Simplified Dependencies: Eliminates the need to maintain 100+ third-party dependencies; most Rust crates work without modifications

Build System

The SDK supports multiple build modes to accommodate different development preferences:

  • BUILD_STD=cargo (default): Uses the new std-aware cargo build system
  • BUILD_STD=no: Traditional no_std cargo build for minimal footprint
  • BUILD_STD=xargo: Uses xargo build with customized sysroot

Sample Applications

The following sample applications demonstrate various SGX SDK capabilities:

  • backtrace: Stack trace functionality in SGX enclaves
  • cov: Code coverage analysis tools
  • crypto: Cryptographic operations within enclaves
  • helloworld: Basic SGX enclave example
  • httpreq: HTTP client functionality
  • hyper-rustls-https-server: HTTPS server using Hyper and Rustls
  • logger: Logging capabilities for SGX applications
  • regex: Regular expression processing
  • rpc: Remote procedure calls using Tonic and Tokio
  • seal: Data sealing and unsealing operations
  • switchless: Switchless call optimization
  • zlib-lazy-static-sample: Compression with lazy static initialization

Note: Migration of additional v1.1 samples to v2.0 is ongoing.

Getting Started

For detailed installation instructions, development guides, and API documentation, please visit:

Contributing

Teaclave is developed in the open following The Apache Way. We strive to maintain a project that is community-driven and inclusive.

We welcome all forms of contributions. Please refer to our Contributing Guide for more information. A big thank-you to all our contributors!

Community