From 1cffc2b5757b07484422bd535c090f5da2cae3a9 Mon Sep 17 00:00:00 2001 From: marcelbuesing Date: Fri, 6 Mar 2020 16:52:44 +0100 Subject: [PATCH 1/3] Expose subject_name_hash --- openssl-sys/src/x509.rs | 2 ++ openssl/src/x509/mod.rs | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/openssl-sys/src/x509.rs b/openssl-sys/src/x509.rs index d125e4b9..fc6e4269 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 39190b7a..a2d34417 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`]. From 4849ac0aab2f6da36c7294d4c18d4f4e50a5d88d Mon Sep 17 00:00:00 2001 From: marcelbuesing Date: Tue, 11 Aug 2020 14:34:46 +0200 Subject: [PATCH 2/3] Cast to u32 --- openssl/src/x509/mod.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openssl/src/x509/mod.rs b/openssl/src/x509/mod.rs index a2d34417..e5f2777f 100644 --- a/openssl/src/x509/mod.rs +++ b/openssl/src/x509/mod.rs @@ -399,8 +399,8 @@ 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()) } + pub fn subject_name_hash(&self) -> u32 { + unsafe { ffi::X509_subject_name_hash(self.as_ptr()) as u32 } } /// Returns this certificate's issuer name. From 8c02f30444cf47146222f980c3947be66f7a6143 Mon Sep 17 00:00:00 2001 From: Steven Fackler Date: Tue, 11 Aug 2020 10:04:38 -0400 Subject: [PATCH 3/3] Update mod.rs --- openssl/src/x509/mod.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/openssl/src/x509/mod.rs b/openssl/src/x509/mod.rs index e5f2777f..775aac69 100644 --- a/openssl/src/x509/mod.rs +++ b/openssl/src/x509/mod.rs @@ -399,6 +399,8 @@ impl X509Ref { } /// Returns the hash of the certificates subject + /// + /// This corresponds to `X509_subject_name_hash`. pub fn subject_name_hash(&self) -> u32 { unsafe { ffi::X509_subject_name_hash(self.as_ptr()) as u32 } }