38 lines
1.2 KiB
Rust
38 lines
1.2 KiB
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() -> std::io::Result<()> {
|
|
env_logger::init_from_env(env_logger::Env::default().default_filter_or("trace"));
|
|
|
|
let mrsigner_hex = "83D719E77DEACA1470F6BAF62A4D774303C899DB69020F9C70EE1DFC08C7CE9E";
|
|
let mut mrsigner = [0u8; 32];
|
|
hex::decode_to_slice(mrsigner_hex, &mut mrsigner).expect("mrsigner decoding failed");
|
|
|
|
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)]),
|
|
)
|
|
.allow_instance_measurement(
|
|
InstanceMeasurement::new()
|
|
.with_mrenclaves(vec![
|
|
SGXMeasurement::new([0u8; 32]),
|
|
SGXMeasurement::new([1u8; 32]),
|
|
])
|
|
.with_product_ids(vec![0, 2]),
|
|
),
|
|
)
|
|
.unwrap()
|
|
.run()
|
|
.await
|
|
}
|