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 use mls_rs::{CipherSuite, Client}; 6 use mls_rs_crypto_openssl::OpensslCryptoProvider; 7 8 const CIPHERSUITE: CipherSuite = CipherSuite::CURVE25519_AES128; 9 main()10fn main() { 11 let crypto_provider = OpensslCryptoProvider::new(); 12 13 let secret_key = mls_rs_crypto_openssl::x509::signature_secret_key_from_bytes(include_bytes!( 14 "../../mls-rs-crypto-openssl/test_data/x509/leaf/key.pem" 15 )) 16 .unwrap(); 17 18 let signing_identity = mls_rs_crypto_openssl::x509::signing_identity_from_certificate( 19 include_bytes!("../../mls-rs-crypto-openssl/test_data/x509/leaf/cert.der"), 20 ) 21 .unwrap(); 22 23 let alice_client = Client::builder() 24 .crypto_provider(crypto_provider) 25 .identity_provider( 26 mls_rs_crypto_openssl::x509::identity_provider_from_certificate(include_bytes!( 27 "../../mls-rs-crypto-openssl/test_data/x509/root_ca/cert.der" 28 )) 29 .unwrap(), 30 ) 31 .signing_identity(signing_identity, secret_key, CIPHERSUITE) 32 .build(); 33 34 let mut alice_group = alice_client.create_group(Default::default()).unwrap(); 35 36 alice_group.commit(Vec::new()).unwrap(); 37 alice_group.apply_pending_commit().unwrap(); 38 } 39