From a47753a8e07ef533cca5df41bea4893c9eeb133e Mon Sep 17 00:00:00 2001 From: Noor Date: Fri, 8 Nov 2024 07:50:55 +0000 Subject: [PATCH] fix compiler error on sealing and examples (#3) Reviewed-on: https://gitea.detee.cloud/SGX/detee-sgx/pulls/3 Reviewed-by: Valentyn Faychuk Co-authored-by: Noor Co-committed-by: Noor --- examples/mratls_grpcs_client.rs | 4 ++-- examples/mratls_grpcs_server.rs | 5 ++--- examples/mratls_https_client.rs | 2 +- examples/mratls_https_server.rs | 2 +- examples/sealing.rs | 8 ++++---- src/lib.rs | 2 +- src/prelude.rs | 2 +- src/sealing/decrypt.rs | 4 ++-- src/sealing/encrypt.rs | 4 ++-- src/sealing/key_derivation.rs | 4 ++-- src/sealing/mod.rs | 4 ++-- src/sealing/{sgx_sealing.rs => sealing_config.rs} | 4 ++-- 12 files changed, 22 insertions(+), 23 deletions(-) rename src/sealing/{sgx_sealing.rs => sealing_config.rs} (98%) diff --git a/examples/mratls_grpcs_client.rs b/examples/mratls_grpcs_client.rs index 20c4113..4acc891 100644 --- a/examples/mratls_grpcs_client.rs +++ b/examples/mratls_grpcs_client.rs @@ -2,10 +2,10 @@ pub mod pb { tonic::include_proto!("/grpc.examples.unaryecho"); } +use detee_sgx::prelude::*; +use detee_sgx::RaTlsConfigBuilder; use hyper::Uri; use hyper_util::{client::legacy::connect::HttpConnector, rt::TokioExecutor}; -use occlum_ratls::prelude::*; -use occlum_ratls::RaTlsConfigBuilder; use pb::{echo_client::EchoClient, EchoRequest}; use tokio_rustls::rustls::ClientConfig; diff --git a/examples/mratls_grpcs_server.rs b/examples/mratls_grpcs_server.rs index 0a377e6..c89bc87 100644 --- a/examples/mratls_grpcs_server.rs +++ b/examples/mratls_grpcs_server.rs @@ -2,6 +2,8 @@ pub mod pb { tonic::include_proto!("/grpc.examples.unaryecho"); } +use detee_sgx::prelude::*; +use detee_sgx::RaTlsConfigBuilder; use hyper::server::conn::http2::Builder; use hyper_util::{ rt::{TokioExecutor, TokioIo}, @@ -19,9 +21,6 @@ use tonic::{body::boxed, service::Routes, Request, Response, Status}; use tower::ServiceBuilder; use tower::ServiceExt; -use occlum_ratls::prelude::*; -use occlum_ratls::RaTlsConfigBuilder; - use std::sync::atomic::{AtomicUsize, Ordering}; static COUNTER: AtomicUsize = AtomicUsize::new(0); diff --git a/examples/mratls_https_client.rs b/examples/mratls_https_client.rs index d584700..51c6b82 100644 --- a/examples/mratls_https_client.rs +++ b/examples/mratls_https_client.rs @@ -1,4 +1,4 @@ -use occlum_ratls::prelude::*; +use detee_sgx::prelude::*; use reqwest::ClientBuilder; #[tokio::main] diff --git a/examples/mratls_https_server.rs b/examples/mratls_https_server.rs index f2a716f..429f9a3 100644 --- a/examples/mratls_https_server.rs +++ b/examples/mratls_https_server.rs @@ -1,5 +1,5 @@ use actix_web::{get, App, HttpServer}; -use occlum_ratls::prelude::*; +use detee_sgx::prelude::*; use std::net::SocketAddr; #[get("/")] diff --git a/examples/sealing.rs b/examples/sealing.rs index ca951a6..0fd3d39 100644 --- a/examples/sealing.rs +++ b/examples/sealing.rs @@ -1,4 +1,4 @@ -use occlum_ratls::prelude::*; +use detee_sgx::prelude::*; use std::{ fs, path::Path, @@ -9,7 +9,7 @@ const DATA_PATH: &str = "/host/sealed_data"; fn main() { println!("Example of sealing"); - let sgx_sealing = SgxSealing::new().unwrap(); + let sgx_sealing = SealingConfig::new().unwrap(); println!("sealing : {:?}", sgx_sealing); let timestamp = SystemTime::now() @@ -35,13 +35,13 @@ fn main() { } } -fn seal_and_write_data(sgx_sealing: SgxSealing, payload: Vec) { +fn seal_and_write_data(sgx_sealing: SealingConfig, payload: Vec) { let sealed_data = sgx_sealing.seal_data(payload).unwrap(); println!("sealed_data: {:?}", &sealed_data); fs::write(DATA_PATH, &sealed_data).expect("Failed to write file {DATA_PATH}"); } -fn unseal_data(sgx_sealing: SgxSealing, sealed_data: Vec) { +fn unseal_data(sgx_sealing: SealingConfig, sealed_data: Vec) { println!("sealed_data: {:?}", &sealed_data); let unsealed_data = sgx_sealing.un_seal_data(sealed_data).unwrap(); println!("unsealed_data: {:?}", &unsealed_data); diff --git a/src/lib.rs b/src/lib.rs index 3eb73a7..173cc3c 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -25,7 +25,7 @@ mod sealing; pub use crate::config::RaTlsConfig; #[cfg(feature = "sealing")] -pub use crate::sealing::SgxSealing; +pub use crate::sealing::SealingConfig; #[cfg(feature = "occlum")] pub use crate::config::InstanceMeasurement; diff --git a/src/prelude.rs b/src/prelude.rs index d448e85..5874c01 100644 --- a/src/prelude.rs +++ b/src/prelude.rs @@ -1,6 +1,6 @@ pub use crate::RaTlsConfig; #[cfg(feature = "sealing")] -pub use crate::SgxSealing; +pub use crate::SealingConfig; #[cfg(feature = "occlum")] pub use crate::config::InstanceMeasurement; diff --git a/src/sealing/decrypt.rs b/src/sealing/decrypt.rs index d6cc9d7..692a1b0 100644 --- a/src/sealing/decrypt.rs +++ b/src/sealing/decrypt.rs @@ -1,9 +1,9 @@ use aes_gcm::{aead::Aead, Aes256Gcm, Key, KeyInit, Nonce}; -use super::SgxSealing; +use crate::SealingConfig; use crate::SgxError; -impl SgxSealing { +impl SealingConfig { pub fn un_seal_data(self, payload_encrypted_packet: Vec) -> Result, SgxError> { let sealing_key = self.get_aes256_sealing_key()?; diff --git a/src/sealing/encrypt.rs b/src/sealing/encrypt.rs index 8603b1d..7f72c80 100644 --- a/src/sealing/encrypt.rs +++ b/src/sealing/encrypt.rs @@ -3,10 +3,10 @@ use aes_gcm::{ Aes256Gcm, Key, KeyInit, }; -use super::SgxSealing; +use crate::SealingConfig; use crate::SgxError; -impl SgxSealing { +impl SealingConfig { pub fn seal_data(self, payload_plain_text: Vec) -> Result, SgxError> { let sealing_key = self.get_aes256_sealing_key()?; diff --git a/src/sealing/key_derivation.rs b/src/sealing/key_derivation.rs index 0d6aaae..02bf301 100644 --- a/src/sealing/key_derivation.rs +++ b/src/sealing/key_derivation.rs @@ -1,12 +1,12 @@ use pbkdf2::pbkdf2_hmac_array; use sha2::Sha256; -use super::SgxSealing; +use crate::SealingConfig; use crate::SgxError; pub type SealingKey256BitDerived = [u8; 32]; -impl SgxSealing { +impl SealingConfig { pub fn get_aes256_sealing_key(self) -> Result { let mrsigner_for_salt = Self::get_current_sgx_quote()?.mrsigner().m; diff --git a/src/sealing/mod.rs b/src/sealing/mod.rs index 87d039f..87b159f 100644 --- a/src/sealing/mod.rs +++ b/src/sealing/mod.rs @@ -2,7 +2,7 @@ mod decrypt; mod encrypt; pub mod key_derivation; pub mod sealing_config; -pub mod sealing_error; +// pub mod sealing_error; pub use sealing_config::SealingConfig; -pub use sealing_error::SealingError; +// pub use sealing_error::SealingError; diff --git a/src/sealing/sgx_sealing.rs b/src/sealing/sealing_config.rs similarity index 98% rename from src/sealing/sgx_sealing.rs rename to src/sealing/sealing_config.rs index 4d06d5a..4c31ba4 100644 --- a/src/sealing/sgx_sealing.rs +++ b/src/sealing/sealing_config.rs @@ -18,12 +18,12 @@ pub enum SealingKeyPolicy { pub type Sgx128BitKey = sgx_key_128bit_t; #[derive(Debug)] -pub struct SgxSealing { +pub struct SealingConfig { #[cfg(feature = "occlum")] pub sealing_key: Sgx128BitKey, } -impl SgxSealing { +impl SealingConfig { #[cfg(feature = "occlum")] pub(crate) fn get_current_sgx_quote() -> Result<&'static Quote, SgxError> { Ok(STATIC_QUOTE.as_ref().map_err(|e| e.clone())?)