aboutsummaryrefslogtreecommitdiff
path: root/openssl/src
diff options
context:
space:
mode:
authorAnsley Peduru <[email protected]>2018-01-01 11:48:55 -0500
committerAnsley Peduru <[email protected]>2018-01-01 11:48:55 -0500
commita4c9dd4af3e8538acec5edd464811d68bb50da7e (patch)
tree4f812a930e440ffd3a0e72b525107cca4dee23b2 /openssl/src
parentAdd documentation for x509 module (diff)
downloadrust-openssl-a4c9dd4af3e8538acec5edd464811d68bb50da7e.tar.xz
rust-openssl-a4c9dd4af3e8538acec5edd464811d68bb50da7e.zip
Fix x509 doc examples
Diffstat (limited to 'openssl/src')
-rw-r--r--openssl/src/x509/mod.rs27
-rw-r--r--openssl/src/x509/store.rs29
2 files changed, 44 insertions, 12 deletions
diff --git a/openssl/src/x509/mod.rs b/openssl/src/x509/mod.rs
index 1e1ec339..0ee02f0c 100644
--- a/openssl/src/x509/mod.rs
+++ b/openssl/src/x509/mod.rs
@@ -11,17 +11,30 @@
//!
//! ```rust
//!
-//! extern crate openssl;
+//! extern crate openssl;
//!
-//! use openssl::x509::X509;
+//! use openssl::x509::{X509, X509Name};
+//! use openssl::pkey::PKey;
+//! use openssl::hash::MessageDigest;
+//! use openssl::rsa::Rsa;
+//! use openssl::nid::Nid;
//!
//! fn main() {
-//! let cert = include_bytes!("cert_with_alt_name.pem");
-//! let cert = X509::from_pem(cert).unwrap();
+//! let rsa = Rsa::generate(2048).unwrap();
+//! let pkey = PKey::from_rsa(rsa).unwrap();
//!
-//! let subject_alt_names = cert.subject_alt_names().unwrap();
-//! let mut san_iter = subject_alt_names.iter();
-//! println!("{:?}", san_iter.next().unwrap().dnsname().unwrap());
+//! let mut name = X509Name::builder().unwrap();
+//! name.append_entry_by_nid(Nid::COMMONNAME, "foobar.com").unwrap();
+//! let name = name.build();
+//!
+//! let mut builder = X509::builder().unwrap();
+//! builder.set_version(2).unwrap();
+//! builder.set_subject_name(&name).unwrap();
+//! builder.set_issuer_name(&name).unwrap();
+//! builder.set_pubkey(&pkey).unwrap();
+//! builder.sign(&pkey, MessageDigest::sha256()).unwrap();
+//!
+//! let certificate: X509 = builder.build();
//! }
//! ```
diff --git a/openssl/src/x509/store.rs b/openssl/src/x509/store.rs
index e1e6de7d..876e4246 100644
--- a/openssl/src/x509/store.rs
+++ b/openssl/src/x509/store.rs
@@ -6,21 +6,40 @@
//! # Example
//!
//! ```rust
+//!
//! extern crate openssl;
-//!
-//! use openssl::x509::X509;
+//!
//! use openssl::x509::store::{X509StoreBuilder, X509Store};
+//! use openssl::x509::{X509, X509Name};
+//! use openssl::pkey::PKey;
+//! use openssl::hash::MessageDigest;
+//! use openssl::rsa::Rsa;
+//! use openssl::nid::Nid;
//!
//! fn main() {
-//! let cert = include_bytes!("cert.pem");
-//! let cert = X509::from_pem(cert).ok().expect("Failed to load PEM");
+//! let rsa = Rsa::generate(2048).unwrap();
+//! let pkey = PKey::from_rsa(rsa).unwrap();
+//!
+//! let mut name = X509Name::builder().unwrap();
+//! name.append_entry_by_nid(Nid::COMMONNAME, "foobar.com").unwrap();
+//! let name = name.build();
+//!
+//! let mut builder = X509::builder().unwrap();
+//! builder.set_version(2).unwrap();
+//! builder.set_subject_name(&name).unwrap();
+//! builder.set_issuer_name(&name).unwrap();
+//! builder.set_pubkey(&pkey).unwrap();
+//! builder.sign(&pkey, MessageDigest::sha256()).unwrap();
+//!
+//! let certificate: X509 = builder.build();
//!
//! let mut builder = X509StoreBuilder::new().unwrap();
-//! let _ = builder.add_cert(cert);
+//! let _ = builder.add_cert(certificate);
//!
//! let store: X509Store = builder.build();
//! }
//! ```
+
use ffi;
use foreign_types::ForeignTypeRef;
use std::mem;