]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
rust/x509: use the raw serial number so leading zeros are not removed
authorPierre Chifflier <chifflier@wzdftpd.net>
Mon, 9 Mar 2020 19:36:21 +0000 (20:36 +0100)
committerPierre Chifflier <chifflier@wzdftpd.net>
Mon, 23 Mar 2020 15:54:20 +0000 (16:54 +0100)
rust/Cargo.toml.in
rust/src/x509/mod.rs

index 05bea9cffe305a271987945bc5af589e2b8561f6..b85d8f53c287d56359f5835d1518088d5664cd76 100644 (file)
@@ -34,4 +34,4 @@ ntp-parser = "0.4"
 ipsec-parser = "0.5"
 snmp-parser = "0.5"
 tls-parser = "0.9"
-x509-parser = "0.6"
+x509-parser = "0.6.5"
index 780dc6291f754ed5d6d13a9472e48d4647fe99f1..f003b2a2928d333b7c7d1f57126a0ba83507f4e9 100644 (file)
@@ -65,7 +65,12 @@ pub extern "C" fn rs_x509_get_serial(ptr: *const X509) -> *mut c_char {
         return std::ptr::null_mut();
     }
     let x509 = cast_pointer! {ptr, X509};
-    let serial = x509.0.tbs_certificate.serial.to_string();
+    let raw_serial = x509.0.tbs_certificate.raw_serial();
+    let v : Vec<_> = raw_serial
+        .iter()
+        .map(|x| format!("{:02X}", x))
+        .collect();
+    let serial = v.join(":");
     rust_string_to_c(serial)
 }