diff --git a/openssl-sys/src/x509.rs b/openssl-sys/src/x509.rs index d125e4b977ca8876959e30e658c69f2ca4cf626b..fc6e4269b8966b216b28ef90301aef3c90f909f7 100644 --- a/openssl-sys/src/x509.rs +++ b/openssl-sys/src/x509.rs @@ -228,6 +228,8 @@ extern "C" { pub fn X509_set_serialNumber(x: *mut X509, sn: *mut ASN1_INTEGER) -> c_int; pub fn X509_get_serialNumber(x: *mut X509) -> *mut ASN1_INTEGER; pub fn X509_set_issuer_name(x: *mut X509, name: *mut X509_NAME) -> c_int; + + pub fn X509_subject_name_hash(x: *mut ::X509) -> c_ulong; } cfg_if! { if #[cfg(any(ossl110, libressl280))] { diff --git a/openssl/src/x509/mod.rs b/openssl/src/x509/mod.rs index 39190b7ab04f67254ebe79ffe6b5ca2c4981d9cd..a2d34417d6f655d2fb08eb830598d9fd76adbc46 100644 --- a/openssl/src/x509/mod.rs +++ b/openssl/src/x509/mod.rs @@ -398,6 +398,11 @@ impl X509Ref { } } + /// Returns the hash of the certificates subject + pub fn subject_name_hash(&self) -> u64 { + unsafe { ffi::X509_subject_name_hash(self.as_ptr()) } + } + /// Returns this certificate's issuer name. /// /// This corresponds to [`X509_get_issuer_name`].