feat: calc rsa bit length
This commit is contained in:
16
src/x509.rs
16
src/x509.rs
@@ -68,12 +68,18 @@ impl X509PublicKeyAlgo {
|
|||||||
println!("{:?}", d);
|
println!("{:?}", d);
|
||||||
println!("{:?}", d.as_ref().unwrap().1.content);
|
println!("{:?}", d.as_ref().unwrap().1.content);
|
||||||
if let BerObjectContent::Sequence(seq) = &d.as_ref().unwrap().1.content {
|
if let BerObjectContent::Sequence(seq) = &d.as_ref().unwrap().1.content {
|
||||||
println!("||| {:?}", &seq[0].content);
|
let mut rsa_n_len = 0;
|
||||||
if let BerObjectContent::Integer(int) = seq[0].content {
|
if let BerObjectContent::Integer(n) = seq[0].content {
|
||||||
println!(">>> {:?}", int);
|
rsa_n_len = n.len() - (if n[0] == 0 { 1 } else { 0 });
|
||||||
println!(">>> {:?}", int.len());
|
|
||||||
println!(">>> {:?}", int.len() * 8);
|
|
||||||
}
|
}
|
||||||
|
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)
|
Ok(Self::Rsa)
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user