1 // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 // Copyright by contributors to this project. 3 // SPDX-License-Identifier: (Apache-2.0 OR MIT) 4 5 pub(crate) use mls_rs_core::crypto::CipherSuiteProvider; 6 7 pub use mls_rs_core::crypto::{ 8 HpkeCiphertext, HpkeContextR, HpkeContextS, HpkePublicKey, HpkeSecretKey, SignaturePublicKey, 9 SignatureSecretKey, 10 }; 11 12 pub use mls_rs_core::secret::Secret; 13 14 #[cfg(test)] 15 pub(crate) mod test_utils { 16 use cfg_if::cfg_if; 17 use mls_rs_core::crypto::CryptoProvider; 18 19 cfg_if! { 20 if #[cfg(target_arch = "wasm32")] { 21 pub use mls_rs_crypto_webcrypto::WebCryptoProvider as TestCryptoProvider; 22 } else { 23 pub use mls_rs_crypto_openssl::OpensslCryptoProvider as TestCryptoProvider; 24 } 25 } 26 27 use crate::cipher_suite::CipherSuite; 28 test_cipher_suite_provider( cipher_suite: CipherSuite, ) -> <TestCryptoProvider as CryptoProvider>::CipherSuiteProvider29 pub fn test_cipher_suite_provider( 30 cipher_suite: CipherSuite, 31 ) -> <TestCryptoProvider as CryptoProvider>::CipherSuiteProvider { 32 TestCryptoProvider::new() 33 .cipher_suite_provider(cipher_suite) 34 .unwrap() 35 } 36 37 #[allow(unused)] try_test_cipher_suite_provider( cipher_suite: u16, ) -> Option<<TestCryptoProvider as CryptoProvider>::CipherSuiteProvider>38 pub fn try_test_cipher_suite_provider( 39 cipher_suite: u16, 40 ) -> Option<<TestCryptoProvider as CryptoProvider>::CipherSuiteProvider> { 41 TestCryptoProvider::new().cipher_suite_provider(CipherSuite::from(cipher_suite)) 42 } 43 } 44