Added a test for signing and verifying

This commit is contained in:
Martin Slot 2023-12-20 09:19:41 +01:00
parent a53c7dc2c1
commit 8f26716b6a
1 changed files with 17 additions and 2 deletions

View File

@ -137,7 +137,7 @@ mod errors {
}
mod tests {
use crate::crypto::{Decrypt, Encrypt, RSACryptoHandler};
use crate::crypto::{Decrypt, Encrypt, RSACryptoHandler, Signature};
fn get_public_key() -> String {
String::from(
@ -211,6 +211,21 @@ m/A1vde9ULfntRXDT+44rL5BfsLB9oNfknDtLSk/TsE9zQ6f/zghzw==
let decrypted_data = crypto_handler.decrypt(encrypted_data).unwrap();
let decrypted_data = &decrypted_data[..];
assert!(data.iter().eq(decrypted_data.iter()))
assert!(data.iter().eq(decrypted_data.iter()));
}
#[test]
fn test_sign_and_verify() {
let data = b"Hello from test";
let private_key = get_private_key();
let public_key = get_public_key();
let crypto_handler =
RSACryptoHandler::new_from_str(private_key.as_str(), public_key.as_str()).unwrap();
let signature = crypto_handler.sign(data);
let verified = crypto_handler.verify(data, &signature[..]).unwrap();
assert!(data.iter().ne(signature.iter()));
assert!(verified);
}
}