# TPM2 Software Stack Rust Wrapper
This is the high-level, Rust idiomatic wrapper crate that exposes an interface to [TSS](https://github.com/tpm2-software/tpm2-tss). This crate depends on the [`tss-esapi-sys`](../tss-esapi-sys/) crate for its FFI interface. By default, pre-generated bindings are used. If you'd like the bindings to be generated at build time, please enable either the `generate-bindings` feature - the FFI bindings will then be generated at build time using the headers identified on the system. Our end-goal is to achieve a fully Rust-native interface that offers strong safety and security guarantees. Check out our [documentation](https://docs.rs/tss-esapi/*/tss_esapi/#notes-on-code-safety) for an overview of our code safety approach. ## Cross compiling For more information on cross-compiling the `tss-esapi` crate, please see the README of the `tss-esapi-sys` crate. *Copyright 2021 Contributors to the Parsec project.*