From 58b249773ba4d63a8cdde92ff1cb22719e9b3334 Mon Sep 17 00:00:00 2001 From: hozan23 Date: Wed, 29 Nov 2023 12:48:28 +0300 Subject: p2p/tls_config: add a small test --- core/src/crypto/key_pair.rs | 2 ++ p2p/src/tls_config.rs | 17 +++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/core/src/crypto/key_pair.rs b/core/src/crypto/key_pair.rs index 899cb6a..efaae47 100644 --- a/core/src/crypto/key_pair.rs +++ b/core/src/crypto/key_pair.rs @@ -81,6 +81,7 @@ impl KeyPairExt for Ed25519KeyPair { } } +#[derive(Debug)] pub enum PublicKey { Ed25519(Ed25519PublicKey), } @@ -114,6 +115,7 @@ trait PublicKeyExt { fn verify(&self, msg: &[u8], signature: &[u8]) -> Result<()>; } +#[derive(Debug)] pub struct Ed25519PublicKey(ed25519_dalek::VerifyingKey); impl Ed25519PublicKey { diff --git a/p2p/src/tls_config.rs b/p2p/src/tls_config.rs index 2994bcf..5d5e90e 100644 --- a/p2p/src/tls_config.rs +++ b/p2p/src/tls_config.rs @@ -212,3 +212,20 @@ impl ClientCertVerifier for CliCertVerifier { &[] } } + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn verify_generated_certificate() { + let key_pair = KeyPair::generate(&KeyPairType::Ed25519); + let (cert, _) = generate_cert(&key_pair).unwrap(); + + let result = verify_cert(&cert); + assert!(result.is_ok()); + let peer_id = result.unwrap(); + assert_eq!(peer_id, PeerID::try_from(key_pair.public()).unwrap()); + assert_eq!(peer_id.0, key_pair.public().as_bytes()); + } +} -- cgit v1.2.3