diff options
author | hozan23 <hozan23@proton.me> | 2023-11-29 12:48:28 +0300 |
---|---|---|
committer | hozan23 <hozan23@proton.me> | 2023-11-29 12:48:28 +0300 |
commit | 58b249773ba4d63a8cdde92ff1cb22719e9b3334 (patch) | |
tree | e54fb041c1213280a23e67c04b75c8ff8856be7a | |
parent | 63e8b2fa6b5d4d9bf1ba9234bff0be8a255e612e (diff) |
p2p/tls_config: add a small test
-rw-r--r-- | core/src/crypto/key_pair.rs | 2 | ||||
-rw-r--r-- | p2p/src/tls_config.rs | 17 |
2 files changed, 19 insertions, 0 deletions
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()); + } +} |