13_key_agreement_shared_secret/
13_key_agreement_shared_secret.rs1use security::AgreementPrivateKey;
2
3fn main() -> Result<(), Box<dyn std::error::Error>> {
4 let alice = AgreementPrivateKey::generate_p256()?;
5 let bob = AgreementPrivateKey::generate_p256()?;
6 let alice_public = alice.public_key()?;
7 let bob_public = bob.public_key()?;
8 let alice_secret = alice.shared_secret(&bob_public, 32, b"shared-info")?;
9 let bob_secret = bob.shared_secret(&alice_public, 32, b"shared-info")?;
10 println!("shared_secret_match={}", alice_secret == bob_secret);
11 Ok(())
12}