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.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 {
|
||||
|
||||
Reference in New Issue
Block a user