feat: calc rsa bit length

This commit is contained in:
2021-05-04 18:55:31 +08:00
parent 6da26e2de9
commit 885207adf1

View File

@@ -68,12 +68,18 @@ impl X509PublicKeyAlgo {
println!("{:?}", d);
println!("{:?}", d.as_ref().unwrap().1.content);
if let BerObjectContent::Sequence(seq) = &d.as_ref().unwrap().1.content {
println!("||| {:?}", &seq[0].content);
if let BerObjectContent::Integer(int) = seq[0].content {
println!(">>> {:?}", int);
println!(">>> {:?}", int.len());
println!(">>> {:?}", int.len() * 8);
let mut rsa_n_len = 0;
if let BerObjectContent::Integer(n) = seq[0].content {
rsa_n_len = n.len() - (if n[0] == 0 { 1 } else { 0 });
}
let rsa_bit_length = || -> Option<i32> {
for bit_len in &[1024, 2048, 3072, 4096] {
if i32::abs(bit_len - (rsa_n_len as i32 * 8)) <= 16 {
return Some(*bit_len);
}
}
None
};
}
Ok(Self::Rsa)
} else {