Skip to content

Releases: apache/incubator-teaclave-trustzone-sdk

Apache Teaclave TrustZone SDK (incubating) v0.3.0

28 Jun 09:09
Compare
Choose a tag to compare

This is the third Apache Incubator release of Teaclave TrustZone SDK. Teaclave TrustZone SDK provides abilities to build safe TrustZone applications in Rust. The SDK is based on the OP-TEE project which follows GlobalPlatform TEE specifications and provides ergonomic APIs. In addition, it enables the capability to write TrustZone applications with Rust's standard library and many third-party libraries (i.e., crates). Teaclave TrustZone SDK is a sub-project of Apache Teaclave (incubating).

In this release we have the following fundamental updates:

Features

  • Add tls_client and tls_server examples
  • Add signature verification example

Enhancements

Integration into OP-TEE

  • Update to OP-TEE 4.2.0 (#35)
  • Update to GP 1.3.1 (#105)
  • Update to OP-TEE 3.20.0 (#104)

Building

  • Upgrade toolchain and std to May 2024 (#139)
  • examples: ensure the proper build order (#124)

Bug fixes

  • Fix double-free bug in optee-utee (#127)
  • Fix cargo error (#102)

Documentation

  • Add Documentation for no-std (#128)
  • Building Rust CA as Android ELF (#95)

Apache Teaclave TrustZone SDK (incubating) v0.2.0

18 Apr 07:56
Compare
Choose a tag to compare

This is the second Apache Incubator release of Teaclave TrustZone SDK. Teaclave TrustZone SDK provides abilities to build safe TrustZone applications in Rust. The SDK is based on the OP-TEE project which follows GlobalPlatform TEE specifications and provides ergonomic APIs. In addition, it enables the capability to write TrustZone applications with Rust's standard library and many third-party libraries (i.e., crates). Teaclave TrustZone SDK is a sub-project of Apache Teaclave (incubating).

During this period, we are working closely with the OP-TEE community to integrate TA examples written in Rust into the upstream repository. You can try and play with the examples written in Rust with Teaclave TrustZone SDK since the OP-TEE 3.15.0 release.

More specifically, in this release we have the following updates:

Features

  • Add support for tee-supplicant loadable plugins and examples
  • Add TEE Socket APIs and examples

Enhancements

Integration into OP-TEE

  • Add the -rs suffix to examples and update test scripts (#34)
  • Update to OP-TEE 3.14.0 (#35)
  • Update to OP-TEE 3.16.0 (#59)

Building

  • Upgrade building docker to Ubuntu 20.04 (#33)
  • Update Rust toolchain to nightly-2021-09-20 and std to 1.56.1 (#53)
  • Add setup.sh to setup rust environment and initialize submodules (#40, #63)

CI

  • Switch to GitHub Actions (#33)
  • Add expect script for OP-TEE CI and fix CI errors (#45, #50)

Bug fixes

  • Fix ldelf error of arm32 ta (#38)
  • fix error when making the plugin example second time (#42)
  • Correct toolchain PATH env (#44)

Docs

  • Add debugging OP-TEE TA doc: Debugging OP-TEE TA
  • Add documentation of Rust examples: Overview of OP-TEE Rust Examples
  • Polish the getting started documentation

Apache Teaclave TrustZone SDK (incubating) v0.1.0

11 Jun 18:12
Compare
Choose a tag to compare

This is the first Apache Incubator release of Teaclave TrustZone SDK. Teaclave TrustZone SDK provides abilities to build safe TrustZone applications in Rust. The SDK is based on the OP-TEE project which follows GlobalPlatform TEE specifications and provides ergonomic APIs. In addition, it enables capability to write TrustZone applications with Rust's standard library and many third-party libraries (i.e., crates). Teaclave TrustZone SDK is a sub-project of Apache Teaclave (incubating).

This version implements the following Rust APIs in GlobalPlatform TEE specifications:

TEE Client API (optee-teec)

  • Context
  • Error
  • Operation
  • Parameter
  • Session
  • UUID

TEE Internal Core API (optee-utee)

  • Arithmetical
  • Crypto Operation
  • Error
  • Object
  • Parameter
  • Time
  • Trace

We also provides procedure macros to automatically generate bindings interfaces of TA:

  • #[ta_create], #[ta_destroy], #[ta_open_session], #[ta_close_session], #[ta_invoke_command]

This version includes rewrites of all examples from OP-TEE repository. In addition, we include more examples using serde for serialization and deserialization.

This version is compatible with OP-TEE 3.13.0.