Fix tests
This commit is contained in:
parent
4df44af9a6
commit
994eb36d87
26
src/lib.rs
26
src/lib.rs
|
@ -85,26 +85,30 @@ fn sign_from_dig(sign: Sign) -> num_bigint::Sign {
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use crate::KeyExt;
|
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};
|
use sha2::{Digest, Sha256};
|
||||||
|
|
||||||
static SIGNING_STRING: &[u8] = b"Hewwo, Mr Obama";
|
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]
|
#[test]
|
||||||
fn priv_can_complete_cycle_pkcs1() {
|
fn priv_can_complete_cycle_pkcs1() {
|
||||||
let mut rng = rand::thread_rng();
|
let mut rng = rand::thread_rng();
|
||||||
let rsa = RSAPrivateKey::new(&mut rng, 2048).unwrap();
|
let rsa = RSAPrivateKey::new(&mut rng, 2048).unwrap();
|
||||||
let hashed = Sha256::digest(SIGNING_STRING);
|
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 string = rsa.to_pem_pkcs1().unwrap();
|
||||||
|
|
||||||
let res = RSAPrivateKey::from_pem_pkcs1(&string);
|
let res = RSAPrivateKey::from_pem_pkcs1(&string);
|
||||||
|
|
||||||
let pubkey = res.unwrap().to_public_key();
|
let pubkey = res.unwrap().to_public_key();
|
||||||
pubkey.verify(PADDING, HASH, &hashed, &sig).unwrap();
|
pubkey.verify(padding(), &hashed, &sig).unwrap();
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
@ -112,7 +116,7 @@ mod tests {
|
||||||
let mut rng = rand::thread_rng();
|
let mut rng = rand::thread_rng();
|
||||||
let rsa = RSAPrivateKey::new(&mut rng, 2048).unwrap();
|
let rsa = RSAPrivateKey::new(&mut rng, 2048).unwrap();
|
||||||
let hashed = Sha256::digest(SIGNING_STRING);
|
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 rsa = rsa.to_public_key();
|
||||||
let string = rsa.to_pem_pkcs1().unwrap();
|
let string = rsa.to_pem_pkcs1().unwrap();
|
||||||
|
@ -120,7 +124,7 @@ mod tests {
|
||||||
let res = RSAPublicKey::from_pem_pkcs1(&string);
|
let res = RSAPublicKey::from_pem_pkcs1(&string);
|
||||||
|
|
||||||
let pubkey = res.unwrap();
|
let pubkey = res.unwrap();
|
||||||
pubkey.verify(PADDING, HASH, &hashed, &sig).unwrap();
|
pubkey.verify(padding(), &hashed, &sig).unwrap();
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
@ -128,14 +132,14 @@ mod tests {
|
||||||
let mut rng = rand::thread_rng();
|
let mut rng = rand::thread_rng();
|
||||||
let rsa = RSAPrivateKey::new(&mut rng, 2048).unwrap();
|
let rsa = RSAPrivateKey::new(&mut rng, 2048).unwrap();
|
||||||
let hashed = Sha256::digest(SIGNING_STRING);
|
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 string = rsa.to_pem_pkcs8().unwrap();
|
||||||
|
|
||||||
let res = RSAPrivateKey::from_pem_pkcs8(&string);
|
let res = RSAPrivateKey::from_pem_pkcs8(&string);
|
||||||
|
|
||||||
let pubkey = res.unwrap().to_public_key();
|
let pubkey = res.unwrap().to_public_key();
|
||||||
pubkey.verify(PADDING, HASH, &hashed, &sig).unwrap();
|
pubkey.verify(padding(), &hashed, &sig).unwrap();
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
@ -143,7 +147,7 @@ mod tests {
|
||||||
let mut rng = rand::thread_rng();
|
let mut rng = rand::thread_rng();
|
||||||
let rsa = RSAPrivateKey::new(&mut rng, 2048).unwrap();
|
let rsa = RSAPrivateKey::new(&mut rng, 2048).unwrap();
|
||||||
let hashed = Sha256::digest(SIGNING_STRING);
|
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 rsa = rsa.to_public_key();
|
||||||
let string = rsa.to_pem_pkcs8().unwrap();
|
let string = rsa.to_pem_pkcs8().unwrap();
|
||||||
|
@ -151,6 +155,6 @@ mod tests {
|
||||||
let res = RSAPublicKey::from_pem_pkcs8(&string);
|
let res = RSAPublicKey::from_pem_pkcs8(&string);
|
||||||
|
|
||||||
let pubkey = res.unwrap();
|
let pubkey = res.unwrap();
|
||||||
pubkey.verify(PADDING, HASH, &hashed, &sig).unwrap();
|
pubkey.verify(padding(), &hashed, &sig).unwrap();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue