use sshcerts::{
ssh::{SshSignature, VerifiedSshSignature},
PrivateKey,
};
#[test]
fn check_basic_parsing_ed25519() {
let _ =
SshSignature::from_armored_string(include_str!("signatures/ed25519_1_Test.sig")).unwrap();
let _ =
SshSignature::from_armored_string(include_str!("signatures/ed25519_2_Test.sig")).unwrap();
}
#[test]
fn check_basic_parsing_sk_ed25519() {
let _ =
SshSignature::from_armored_string(include_str!("signatures/sk_ed25519_Test.sig")).unwrap();
}
#[test]
fn check_basic_parsing_ecdsa256() {
let _ =
SshSignature::from_armored_string(include_str!("signatures/ecdsa_256_1_Test.sig")).unwrap();
}
#[test]
fn check_basic_parsing_sk_ecdsa() {
let _ =
SshSignature::from_armored_string(include_str!("signatures/sk_ecdsa_Test.sig")).unwrap();
}
#[test]
fn check_basic_parsing_ecdsa384() {
let _ =
SshSignature::from_armored_string(include_str!("signatures/ecdsa_384_1_Test.sig")).unwrap();
}
#[test]
fn check_basic_parsing_rsa_2048() {
let _ =
SshSignature::from_armored_string(include_str!("signatures/rsa_2048_1_Test.sig")).unwrap();
}
#[test]
fn check_basic_parsing_rsa_sha2_256() {
let _ =
SshSignature::from_armored_string(include_str!("signatures/rsa-sha2-256-4096_Test.sig"))
.unwrap();
}
#[test]
fn check_basic_parsing_rsa_sha2_512() {
let _ =
SshSignature::from_armored_string(include_str!("signatures/rsa-sha2-512-4096_Test.sig"))
.unwrap();
let _ =
SshSignature::from_armored_string(include_str!("signatures/rsa-sha2-512-8192_Test.sig"))
.unwrap();
}
#[test]
fn check_verification_ed25519() {
let signature =
SshSignature::from_armored_string(include_str!("signatures/ed25519_1_Test.sig")).unwrap();
let message = include_bytes!("messages/Test").to_vec();
let public_key = PrivateKey::from_string(include_str!("keys/unencrypted/ed25519_1"))
.unwrap()
.pubkey
.clone();
let _verified_signature = VerifiedSshSignature::from_ssh_signature(
message.as_slice(),
signature,
"file",
Some(public_key),
)
.expect("Failed to verify signature");
}
#[test]
fn check_verification_sk_ed25519() {
let signature =
SshSignature::from_armored_string(include_str!("signatures/sk_ed25519_Test.sig")).unwrap();
let message = include_bytes!("messages/Test").to_vec();
let public_key = PrivateKey::from_string(include_str!("keys/sk/ed25519"))
.unwrap()
.pubkey
.clone();
let _verified_signature = VerifiedSshSignature::from_ssh_signature(
message.as_slice(),
signature,
"file",
Some(public_key),
)
.expect("Failed to verify signature");
}
#[test]
fn check_verification_ecdsa_256() {
let signature =
SshSignature::from_armored_string(include_str!("signatures/ecdsa_256_1_Test.sig")).unwrap();
let message = include_bytes!("messages/Test").to_vec();
let public_key = PrivateKey::from_string(include_str!("keys/unencrypted/ecdsa_256_1"))
.unwrap()
.pubkey
.clone();
let _verified_signature = VerifiedSshSignature::from_ssh_signature(
message.as_slice(),
signature,
"file",
Some(public_key),
)
.expect("Failed to verify signature");
}
#[test]
fn check_verification_sk_ecdsa() {
let signature =
SshSignature::from_armored_string(include_str!("signatures/sk_ecdsa_Test.sig")).unwrap();
let message = include_bytes!("messages/Test").to_vec();
let public_key = PrivateKey::from_string(include_str!("keys/sk/ecdsa"))
.unwrap()
.pubkey
.clone();
let _verified_signature = VerifiedSshSignature::from_ssh_signature(
message.as_slice(),
signature,
"file",
Some(public_key),
)
.expect("Failed to verify signature");
}
#[test]
fn check_verification_ecdsa_384() {
let signature =
SshSignature::from_armored_string(include_str!("signatures/ecdsa_384_1_Test.sig")).unwrap();
let message = include_bytes!("messages/Test").to_vec();
let public_key = PrivateKey::from_string(include_str!("keys/unencrypted/ecdsa_384_1"))
.unwrap()
.pubkey
.clone();
let _verified_signature = VerifiedSshSignature::from_ssh_signature(
message.as_slice(),
signature,
"file",
Some(public_key),
)
.expect("Failed to verify signature");
}
#[test]
fn check_verification_rsa_2048() {
let signature =
SshSignature::from_armored_string(include_str!("signatures/rsa_2048_1_Test.sig")).unwrap();
let message = include_bytes!("messages/Test").to_vec();
let public_key = PrivateKey::from_string(include_str!("keys/unencrypted/rsa_2048_1"))
.unwrap()
.pubkey
.clone();
let _verified_signature = VerifiedSshSignature::from_ssh_signature(
message.as_slice(),
signature,
"file",
Some(public_key),
)
.expect("Failed to verify signature");
}
#[test]
fn check_verification_rsa_sha2_256() {
let signature =
SshSignature::from_armored_string(include_str!("signatures/rsa-sha2-256-4096_Test.sig"))
.unwrap();
let message = include_bytes!("messages/Test").to_vec();
let public_key = PrivateKey::from_string(include_str!("keys/unencrypted/rsa-sha2-256-4096"))
.unwrap()
.pubkey
.clone();
let _verified_signature = VerifiedSshSignature::from_ssh_signature(
message.as_slice(),
signature,
"file",
Some(public_key),
)
.expect("Failed to verify signature");
}
#[test]
fn check_verification_rsa_sha2_512() {
let signature =
SshSignature::from_armored_string(include_str!("signatures/rsa-sha2-512-4096_Test.sig"))
.unwrap();
let message = include_bytes!("messages/Test").to_vec();
let public_key = PrivateKey::from_string(include_str!("keys/unencrypted/rsa-sha2-512-4096"))
.unwrap()
.pubkey
.clone();
let _verified_signature = VerifiedSshSignature::from_ssh_signature(
message.as_slice(),
signature,
"file",
Some(public_key),
)
.expect("Failed to verify signature");
let signature =
SshSignature::from_armored_string(include_str!("signatures/rsa-sha2-512-8192_Test.sig"))
.unwrap();
let message = include_bytes!("messages/Test").to_vec();
let public_key = PrivateKey::from_string(include_str!("keys/unencrypted/rsa-sha2-512-8192"))
.unwrap()
.pubkey
.clone();
let _verified_signature = VerifiedSshSignature::from_ssh_signature(
message.as_slice(),
signature,
"file",
Some(public_key),
)
.expect("Failed to verify signature");
}