detee-sgx/examples/mratls_https_server.rs

31 lines
885 B
Rust

use actix_web::{get, App, HttpServer};
use occlum_ratls::prelude::*;
use std::net::SocketAddr;
#[get("/")]
async fn index() -> String {
format!("Hello world!")
}
#[actix_web::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
env_logger::init_from_env(env_logger::Env::default().default_filter_or("trace"));
let mrsigner_hex = "6871A831CED408CD99F0ED31587CC2B5C728C99D4A0A1ADF2F0C5574EBBB00DC";
let mut mrsigner = [0u8; 32];
hex::decode_to_slice(mrsigner_hex, &mut mrsigner)?;
HttpServer::new(|| App::new().service(index))
.bind_ratls(
SocketAddr::from(([127, 0, 0, 1], 8000)),
RaTlsConfig::new().allow_instance_measurement(
InstanceMeasurement::new().with_mrsigners(vec![SGXMeasurement::new(mrsigner)]),
),
)
.unwrap()
.run()
.await?;
Ok(())
}