Fix tests

This commit is contained in:
asonix 2020-07-25 09:31:04 -05:00
parent 4df44af9a6
commit 994eb36d87
1 changed files with 15 additions and 11 deletions

View File

@ -85,26 +85,30 @@ fn sign_from_dig(sign: Sign) -> num_bigint::Sign {
#[cfg(test)]
mod tests {
use crate::KeyExt;
use rsa::{hash::Hashes, padding::PaddingScheme, PublicKey, RSAPrivateKey, RSAPublicKey};
use rsa::{hash::Hash, padding::PaddingScheme, PublicKey, RSAPrivateKey, RSAPublicKey};
use sha2::{Digest, Sha256};
static SIGNING_STRING: &[u8] = b"Hewwo, Mr Obama";
static HASH: Option<&Hashes> = Some(&Hashes::SHA2_256);
static PADDING: PaddingScheme = PaddingScheme::PKCS1v15;
fn padding() -> PaddingScheme {
PaddingScheme::PKCS1v15Sign {
hash: Some(Hash::SHA2_256),
}
}
#[test]
fn priv_can_complete_cycle_pkcs1() {
let mut rng = rand::thread_rng();
let rsa = RSAPrivateKey::new(&mut rng, 2048).unwrap();
let hashed = Sha256::digest(SIGNING_STRING);
let sig = rsa.sign(PADDING, HASH, &hashed).unwrap();
let sig = rsa.sign(padding(), &hashed).unwrap();
let string = rsa.to_pem_pkcs1().unwrap();
let res = RSAPrivateKey::from_pem_pkcs1(&string);
let pubkey = res.unwrap().to_public_key();
pubkey.verify(PADDING, HASH, &hashed, &sig).unwrap();
pubkey.verify(padding(), &hashed, &sig).unwrap();
}
#[test]
@ -112,7 +116,7 @@ mod tests {
let mut rng = rand::thread_rng();
let rsa = RSAPrivateKey::new(&mut rng, 2048).unwrap();
let hashed = Sha256::digest(SIGNING_STRING);
let sig = rsa.sign(PADDING, HASH, &hashed).unwrap();
let sig = rsa.sign(padding(), &hashed).unwrap();
let rsa = rsa.to_public_key();
let string = rsa.to_pem_pkcs1().unwrap();
@ -120,7 +124,7 @@ mod tests {
let res = RSAPublicKey::from_pem_pkcs1(&string);
let pubkey = res.unwrap();
pubkey.verify(PADDING, HASH, &hashed, &sig).unwrap();
pubkey.verify(padding(), &hashed, &sig).unwrap();
}
#[test]
@ -128,14 +132,14 @@ mod tests {
let mut rng = rand::thread_rng();
let rsa = RSAPrivateKey::new(&mut rng, 2048).unwrap();
let hashed = Sha256::digest(SIGNING_STRING);
let sig = rsa.sign(PADDING, HASH, &hashed).unwrap();
let sig = rsa.sign(padding(), &hashed).unwrap();
let string = rsa.to_pem_pkcs8().unwrap();
let res = RSAPrivateKey::from_pem_pkcs8(&string);
let pubkey = res.unwrap().to_public_key();
pubkey.verify(PADDING, HASH, &hashed, &sig).unwrap();
pubkey.verify(padding(), &hashed, &sig).unwrap();
}
#[test]
@ -143,7 +147,7 @@ mod tests {
let mut rng = rand::thread_rng();
let rsa = RSAPrivateKey::new(&mut rng, 2048).unwrap();
let hashed = Sha256::digest(SIGNING_STRING);
let sig = rsa.sign(PADDING, HASH, &hashed).unwrap();
let sig = rsa.sign(padding(), &hashed).unwrap();
let rsa = rsa.to_public_key();
let string = rsa.to_pem_pkcs8().unwrap();
@ -151,6 +155,6 @@ mod tests {
let res = RSAPublicKey::from_pem_pkcs8(&string);
let pubkey = res.unwrap();
pubkey.verify(PADDING, HASH, &hashed, &sig).unwrap();
pubkey.verify(padding(), &hashed, &sig).unwrap();
}
}