diff --git a/tss-esapi/src/structures/buffers.rs b/tss-esapi/src/structures/buffers.rs index 92eb604c..1a6c93ad 100644 --- a/tss-esapi/src/structures/buffers.rs +++ b/tss-esapi/src/structures/buffers.rs @@ -354,9 +354,10 @@ pub mod public_key_rsa { } pub mod sensitive_data { + use crate::tss2_esys::TPMU_SENSITIVE_CREATE; buffer_type!( SensitiveData, - ::std::mem::size_of::(), + ::std::mem::size_of::(), TPM2B_SENSITIVE_DATA ); } diff --git a/tss-esapi/tests/integration_tests/structures_tests/buffers_tests/sensitive_create_buffer_tests.rs b/tss-esapi/tests/integration_tests/structures_tests/buffers_tests/sensitive_create_buffer_tests.rs index 243981bf..f9702a14 100644 --- a/tss-esapi/tests/integration_tests/structures_tests/buffers_tests/sensitive_create_buffer_tests.rs +++ b/tss-esapi/tests/integration_tests/structures_tests/buffers_tests/sensitive_create_buffer_tests.rs @@ -6,6 +6,7 @@ use tss_esapi::{ tss2_esys::TPM2B_SENSITIVE_CREATE, Error, WrapperErrorKind, }; +use tss_esapi_sys::TPM2B_SENSITIVE_DATA; // TPM2B_AUTH = TPM2B_DIGEST = u16 + [u8;64] = 2 + 64 = 66 // TPM2B_SENSITIVE_DATA = u16 + [u8; 256] = 2 + 256 = 258 @@ -124,3 +125,12 @@ fn test_marshall_unmarshall() { "SensitiveCreate converted from SenstiveCreateBuffer did not contain the expected values" ); } + +#[test] +fn test_conversion_from_max_size_buffer() { + let data = vec![1u8; SensitiveData::MAX_SIZE]; + let sensitive_data = SensitiveData::try_from(data) + .expect("It should be possible to convert maximum amount of data into SensitiveData."); + TPM2B_SENSITIVE_DATA::try_from(sensitive_data) + .expect("It should be possible to valid convert SensitiveData into TPM2B_SENSITIVE_DATA."); +}