31 lines
885 B
Rust
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(())
|
|
}
|