Implementation for generating and verifying SGX DCAP quotes for Occlum
Docs: https://docs.rs/occlum-sgx/
Run the following Cargo command in your project directory:
cargo add occlum-sgx
Or add the following line to your Cargo.toml:
occlum-sgx = "0.1"
- SGX Server
- PCCS
- The app should be run as an occlum instance in HW sgx mode
- Occlum's configuration should contain mount devfs.
use occlum_sgx::SGXQuote;
fn main() -> Result<(), Box<dyn std::error::Error>> {
// Generate SGX Quote from report data
let quote: SGXQuote = [0u8; 64].try_into()?;
// Check the quote, it's just for reference
quote.verify()?;
let mrenclave = quote.mrenclave();
let mrsigner = quote.mrsigner();
let product_id = quote.product_id();
let version = quote.version();
println!("MrEnclave:\t{}", mrenclave);
println!("MrSigner:\t{}", mrsigner);
println!("ProdID:\t{}", product_id);
println!("Version:\t{}", version);
println!("\n{:#?}", quote);
Ok(())
}