detee-sgx/examples/mratls_https_client.rs

28 lines
879 B
Rust

use occlum_ratls::prelude::*;
use reqwest::ClientBuilder;
#[tokio::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 = "83D719E77DEACA1470F6BAF62A4D774303C899DB69020F9C70EE1DFC08C7CE9E";
let mut mrsigner = [0u8; 32];
hex::decode_to_slice(mrsigner_hex, &mut mrsigner)?;
let client = ClientBuilder::new()
.use_ratls(
RaTlsConfig::new().allow_instance_measurement(
InstanceMeasurement::new()
.with_mrsigners(vec![SGXMeasurement::new(mrsigner)])
.with_product_ids(vec![0]),
),
)
.build()?;
let res = client.get("https://127.0.0.1:8000").send().await?;
let data = res.text().await?;
println!("response: {}", data);
Ok(())
}