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()10 fn 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