occlum-sgx

Crates.ioocclum-sgx
lib.rsocclum-sgx
version0.1.13
sourcesrc
created_at2023-06-03 05:11:10.150217
updated_at2023-06-05 14:36:58.472966
descriptionLib for generate and verify DCAP SGX Report received from Occlum
homepage
repositoryhttps://github.com/aggregion/occlum-sgx
max_upload_size
id881349
size47,158
(fixcik)

documentation

README

Occlum SGX Lib

Implementation for generating and verifying SGX DCAP quotes for Occlum

Docs: https://docs.rs/occlum-sgx/

Install

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.11"

Requirements

  • SGX Server
  • PCCS
  • The app should be run as an occlum instance in HW sgx mode
  • Occlum's configuration should contain mount devfs.

Usage

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(())
}
Commit count: 33

cargo fmt