From f5149eac5a5746c1cb45edab445ab0d240d33c86 Mon Sep 17 00:00:00 2001 From: mredlek Date: Fri, 27 Jan 2017 20:55:40 +0100 Subject: [PATCH] Add setters to new getter-functions in X509ReqRef --- openssl-sys/src/lib.rs | 3 +++ openssl-sys/src/ossl110.rs | 3 --- openssl/src/x509/mod.rs | 13 +++++++++++++ 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/openssl-sys/src/lib.rs b/openssl-sys/src/lib.rs index 47bc314c..1340a63f 100644 --- a/openssl-sys/src/lib.rs +++ b/openssl-sys/src/lib.rs @@ -1935,6 +1935,9 @@ extern { pub fn X509_REQ_add_extensions(req: *mut X509_REQ, exts: *mut stack_st_X509_EXTENSION) -> c_int; pub fn X509_REQ_sign(x: *mut X509_REQ, pkey: *mut EVP_PKEY, md: *const EVP_MD) -> c_int; + pub fn X509_REQ_set_version(x: *mut X509_REQ, version: c_long) -> c_int; + pub fn X509_REQ_set_subject_name(req: *mut X509_REQ, name: *mut ::X509_NAME) -> c_int; + #[cfg(not(ossl101))] pub fn X509_VERIFY_PARAM_free(param: *mut X509_VERIFY_PARAM); diff --git a/openssl-sys/src/ossl110.rs b/openssl-sys/src/ossl110.rs index c3c95fa4..84f08f29 100644 --- a/openssl-sys/src/ossl110.rs +++ b/openssl-sys/src/ossl110.rs @@ -193,8 +193,5 @@ extern { mac_iter: c_int, keytype: c_int) -> *mut PKCS12; pub fn X509_REQ_get_version(req: *const X509_REQ) -> c_long; - pub fn X509_REQ_set_version(x: *mut X509_REQ, version: c_long) -> c_int; pub fn X509_REQ_get_subject_name(req: *const X509_REQ) -> *mut ::X509_NAME; - pub fn X509_REQ_set_subject_name(req: *mut X509_REQ, name: *mut ::X509_NAME) -> c_int; - } diff --git a/openssl/src/x509/mod.rs b/openssl/src/x509/mod.rs index 23d9bcaa..c08fc337 100644 --- a/openssl/src/x509/mod.rs +++ b/openssl/src/x509/mod.rs @@ -607,12 +607,25 @@ impl X509ReqRef { } } + pub fn set_version(&mut self, value: i32) -> Result<(), ErrorStack> + { + unsafe { + cvt(ffi::X509_REQ_set_version(self.as_ptr(), value as c_long)).map(|_| ()) + } + } + pub fn subject_name(&self) -> &X509NameRef { unsafe { let name = compat::X509_REQ_get_subject_name(self.as_ptr()); X509NameRef::from_ptr(name) } } + + pub fn set_subject_name(&self, value: &X509NameRef) -> Result<(), ErrorStack> { + unsafe { + cvt(ffi::X509_REQ_set_subject_name(self.as_ptr(), value.as_ptr())).map(|_| ()) + } + } } /// A collection of X.509 extensions.