diff --git a/Cargo.lock b/Cargo.lock index 0888bad6..e4fd541a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2018,9 +2018,9 @@ dependencies = [ [[package]] name = "rustls-webpki" -version = "0.103.7" +version = "0.103.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e10b3f4191e8a80e6b43eebabfac91e5dcecebb27a71f04e820c47ec41d314bf" +checksum = "df33b2b81ac578cabaf06b89b0631153a3f416b0a886e8a7a1707fb51abbd1ef" dependencies = [ "ring", "rustls-pki-types", diff --git a/deps/spdm-rs b/deps/spdm-rs index fd5f0355..2ff535b3 160000 --- a/deps/spdm-rs +++ b/deps/spdm-rs @@ -1 +1 @@ -Subproject commit fd5f0355cc7bcc6a0dddbb2fe58d80229da4ae5c +Subproject commit 2ff535b36d583190efc08d030e648b82ca9b839a diff --git a/deps/td-shim-AzCVMEmu/azcvm-extract-report/Cargo.lock b/deps/td-shim-AzCVMEmu/azcvm-extract-report/Cargo.lock index e6d3ca38..3cc24c21 100644 --- a/deps/td-shim-AzCVMEmu/azcvm-extract-report/Cargo.lock +++ b/deps/td-shim-AzCVMEmu/azcvm-extract-report/Cargo.lock @@ -11,21 +11,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "anstream" -version = "0.6.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43d5b281e737544384e969a5ccad3f1cdd24b48086a0fc1b2a5262a26b8f4f4a" -dependencies = [ - "anstyle", - "anstyle-parse 0.2.7", - "anstyle-query", - "anstyle-wincon", - "colorchoice", - "is_terminal_polyfill", - "utf8parse", -] - [[package]] name = "anstream" version = "1.0.0" @@ -33,7 +18,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d" dependencies = [ "anstyle", - "anstyle-parse 1.0.0", + "anstyle-parse", "anstyle-query", "anstyle-wincon", "colorchoice", @@ -47,15 +32,6 @@ version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78" -[[package]] -name = "anstyle-parse" -version = "0.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2" -dependencies = [ - "utf8parse", -] - [[package]] name = "anstyle-parse" version = "1.0.0" @@ -285,7 +261,7 @@ version = "4.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "714a53001bf66416adb0e2ef5ac857140e7dc3a0c48fb28b2f10762fc4b5069f" dependencies = [ - "anstream 1.0.0", + "anstream", "anstyle", "clap_lex", "strsim", @@ -408,11 +384,11 @@ dependencies = [ [[package]] name = "env_logger" -version = "0.11.9" +version = "0.11.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2daee4ea451f429a58296525ddf28b45a3b64f1acf6587e2067437bb11e218d" +checksum = "0621c04f2196ac3f488dd583365b9c09be011a4ab8b9f37248ffcc8f6198b56a" dependencies = [ - "anstream 0.6.21", + "anstream", "anstyle", "env_filter", "jiff", @@ -624,22 +600,22 @@ checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" [[package]] name = "jiff" -version = "0.2.15" +version = "0.2.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be1f93b8b1eb69c77f24bbb0afdf66f54b632ee39af40ca21c4365a1d7347e49" +checksum = "1a3546dc96b6d42c5f24902af9e2538e82e39ad350b0c766eb3fbf2d8f3d8359" dependencies = [ "jiff-static", "log", "portable-atomic", "portable-atomic-util", - "serde", + "serde_core", ] [[package]] name = "jiff-static" -version = "0.2.15" +version = "0.2.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03343451ff899767262ec32146f6d559dd759fdadf42ff0e227c7c48f72594b4" +checksum = "2a8c8b344124222efd714b73bb41f8b5120b27a7cc1c75593a6ff768d9d05aa4" dependencies = [ "proc-macro2", "quote", diff --git a/sh_script/preparation.sh b/sh_script/preparation.sh index cef4afbb..64ce2f9f 100755 --- a/sh_script/preparation.sh +++ b/sh_script/preparation.sh @@ -5,6 +5,12 @@ preparation() { bash sh_script/preparation.sh popd + # Apply spdm-rs ring patches to td-shim's ring (used via [patch.crates-io]) + pushd deps/td-shim/library/ring + git apply ../../../spdm-rs/external/patches/ring/0003-introduce-EphemeralPrivateKey-serialization.patch + git apply ../../../spdm-rs/external/patches/ring/0004-Introduce-digest-de-serialization.patch + popd + pushd deps/spdm-rs bash sh_script/pre-build.sh popd diff --git a/src/migtd/src/spdm/spdm_req.rs b/src/migtd/src/spdm/spdm_req.rs index d4cc13e0..164a6c31 100644 --- a/src/migtd/src/spdm/spdm_req.rs +++ b/src/migtd/src/spdm/spdm_req.rs @@ -187,7 +187,11 @@ pub async fn send_and_receive_pub_key(spdm_requester: &mut RequesterContext) -> let mut receive_buffer = [0u8; config::MAX_SPDM_MSG_SIZE]; let response = spdm_requester - .send_spdm_vendor_defined_request_ex(None, &send_buffer[..used], &mut receive_buffer) + .send_receive_spdm_vendor_defined_request_ex( + None, + &send_buffer[..used], + &mut receive_buffer, + ) .await?; // Format checks and save the received public key @@ -413,7 +417,11 @@ pub async fn send_and_receive_sdm_migration_attest_info( let mut receive_buffer = [0u8; config::MAX_SPDM_MSG_SIZE]; let response = spdm_requester - .send_spdm_vendor_defined_request_ex(None, &send_buffer[..send_used], &mut receive_buffer) + .send_receive_spdm_vendor_defined_request_ex( + None, + &send_buffer[..send_used], + &mut receive_buffer, + ) .await?; //Format checks @@ -733,7 +741,7 @@ async fn send_and_receive_sdm_exchange_migration_info( let mut receive_buffer = [0u8; config::MAX_SPDM_MSG_SIZE]; let response = spdm_requester - .send_spdm_vendor_defined_request_ex( + .send_receive_spdm_vendor_defined_request_ex( session_id, &send_buffer[..send_used], &mut receive_buffer, @@ -1017,7 +1025,11 @@ pub async fn send_and_receive_sdm_rebind_attest_info( let mut receive_buffer = [0u8; config::MAX_SPDM_MSG_SIZE]; let response = spdm_requester - .send_spdm_vendor_defined_request_ex(None, &send_buffer[..send_used], &mut receive_buffer) + .send_receive_spdm_vendor_defined_request_ex( + None, + &send_buffer[..send_used], + &mut receive_buffer, + ) .await?; //Format checks @@ -1219,7 +1231,7 @@ pub async fn send_and_receive_sdm_rebind_info( let mut receive_buffer = [0u8; config::MAX_SPDM_MSG_SIZE]; let response = spdm_requester - .send_spdm_vendor_defined_request_ex( + .send_receive_spdm_vendor_defined_request_ex( session_id, &send_buffer[..send_used], &mut receive_buffer,