diff options
| author | Jethro Beekman <[email protected]> | 2015-06-14 17:25:35 -0700 |
|---|---|---|
| committer | Jethro Beekman <[email protected]> | 2015-07-08 10:08:41 -0700 |
| commit | f2b0da1de79b0980b851f704d0eb28baaf985fc2 (patch) | |
| tree | 040976dc77a18a574d60f82e74130813e1b41c69 /openssl/src | |
| parent | Replace CN field by names vector (diff) | |
| download | rust-openssl-f2b0da1de79b0980b851f704d0eb28baaf985fc2.tar.xz rust-openssl-f2b0da1de79b0980b851f704d0eb28baaf985fc2.zip | |
Add public add_name method to X509Generator
Diffstat (limited to 'openssl/src')
| -rw-r--r-- | openssl/src/x509/mod.rs | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/openssl/src/x509/mod.rs b/openssl/src/x509/mod.rs index b8114384..f624d7ab 100644 --- a/openssl/src/x509/mod.rs +++ b/openssl/src/x509/mod.rs @@ -184,7 +184,10 @@ impl X509Generator { } #[allow(non_snake_case)] - /// Sets Common Name of certificate + /// (deprecated) Sets Common Name of certificate + /// + /// This function is deprecated, use `X509Generator.add_name` instead. + /// Don't use this function AND the `add_name` method pub fn set_CN(mut self, CN: &str) -> X509Generator { match self.names.get_mut(0) { Some(&mut(_,ref mut val)) => *val=CN.to_string(), @@ -196,6 +199,16 @@ impl X509Generator { self } + /// Add attribute to the name of the certificate + /// + /// ```ignore + /// generator.add_name("CN".to_string(),"example.com".to_string()) + /// ``` + pub fn add_name(mut self, attr_type: String, attr_value: String) -> X509Generator { + self.names.push((attr_type,attr_value)); + self + } + /// (deprecated) Sets what for certificate could be used /// /// This function is deprecated, use `X509Generator.add_extension` instead. @@ -273,7 +286,7 @@ impl X509Generator { } } - fn add_name(name: *mut ffi::X509_NAME, key: &str, value: &str) -> Result<(), SslError> { + fn add_name_internal(name: *mut ffi::X509_NAME, key: &str, value: &str) -> Result<(), SslError> { let value_len = value.len() as c_int; lift_ssl!(unsafe { let key = CString::new(key.as_bytes()).unwrap(); @@ -346,7 +359,7 @@ impl X509Generator { if self.names.len()==0 { default_iter } else { arg_iter }; for (key,val) in iter { - try!(X509Generator::add_name(name, &key, &val)); + try!(X509Generator::add_name_internal(name, &key, &val)); } ffi::X509_set_issuer_name(x509.handle, name); |