aboutsummaryrefslogtreecommitdiff
path: root/openssl/src
diff options
context:
space:
mode:
authorSteven Fackler <[email protected]>2017-03-07 13:19:52 +1100
committerGitHub <[email protected]>2017-03-07 13:19:52 +1100
commit97536a9b827c138769a847277cdfdcfadf5b222e (patch)
tree8c6cb4d42c5dd40f4377cc4c66cde16db9d0d37a /openssl/src
parentMerge pull request #591 from cjcole/master (diff)
parentmention the common fields (diff)
downloadrust-openssl-97536a9b827c138769a847277cdfdcfadf5b222e.tar.xz
rust-openssl-97536a9b827c138769a847277cdfdcfadf5b222e.zip
Merge pull request #585 from bluejekyll/master
some helpful documentation and example on set_subject_name()
Diffstat (limited to 'openssl/src')
-rw-r--r--openssl/src/x509/mod.rs17
1 files changed, 17 insertions, 0 deletions
diff --git a/openssl/src/x509/mod.rs b/openssl/src/x509/mod.rs
index 4df05ad0..bab1d711 100644
--- a/openssl/src/x509/mod.rs
+++ b/openssl/src/x509/mod.rs
@@ -326,6 +326,23 @@ impl X509Builder {
}
/// Sets the subject name of the certificate.
+ ///
+ /// When building certificates, the `C`, `ST`, and `O` options are common when using the openssl command line tools.
+ /// The `CN` field is used for the common name, such as a DNS name.
+ ///
+ /// ```
+ /// use openssl::x509::{X509, X509NameBuilder};
+ ///
+ /// let mut x509_name = openssl::x509::X509NameBuilder::new().unwrap();
+ /// x509_name.append_entry_by_text("C", "US").unwrap();
+ /// x509_name.append_entry_by_text("ST", "CA").unwrap();
+ /// x509_name.append_entry_by_text("O", "Some organization").unwrap();
+ /// x509_name.append_entry_by_text("CN", "www.example.com").unwrap();
+ /// let x509_name = x509_name.build();
+ ///
+ /// let mut x509 = openssl::x509::X509::builder().unwrap();
+ /// x509.set_subject_name(&x509_name).unwrap();
+ /// ```
pub fn set_subject_name(&mut self, subject_name: &X509NameRef) -> Result<(), ErrorStack> {
unsafe {
cvt(ffi::X509_set_subject_name(self.0.as_ptr(), subject_name.as_ptr())).map(|_| ())