Loading openssl/src/x509/mod.rs +20 −7 Original line number Original line Diff line number Diff line Loading @@ -13,15 +13,28 @@ //! //! //! 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() { //! fn main() { //! let cert = include_bytes!("cert_with_alt_name.pem"); //! let rsa = Rsa::generate(2048).unwrap(); //! let cert = X509::from_pem(cert).unwrap(); //! let pkey = PKey::from_rsa(rsa).unwrap(); //! //! //! let subject_alt_names = cert.subject_alt_names().unwrap(); //! let mut name = X509Name::builder().unwrap(); //! let mut san_iter = subject_alt_names.iter(); //! name.append_entry_by_nid(Nid::COMMONNAME, "foobar.com").unwrap(); //! println!("{:?}", san_iter.next().unwrap().dnsname().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(); //! } //! } //! ``` //! ``` Loading openssl/src/x509/store.rs +24 −5 Original line number Original line Diff line number Diff line Loading @@ -6,21 +6,40 @@ //! # Example //! # Example //! //! //! ```rust //! ```rust //! //! extern crate openssl; //! extern crate openssl; //! //! //! use openssl::x509::X509; //! use openssl::x509::store::{X509StoreBuilder, X509Store}; //! 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() { //! fn main() { //! let cert = include_bytes!("cert.pem"); //! let rsa = Rsa::generate(2048).unwrap(); //! let cert = X509::from_pem(cert).ok().expect("Failed to load PEM"); //! 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 mut builder = X509StoreBuilder::new().unwrap(); //! let _ = builder.add_cert(cert); //! let _ = builder.add_cert(certificate); //! //! //! let store: X509Store = builder.build(); //! let store: X509Store = builder.build(); //! } //! } //! ``` //! ``` use ffi; use ffi; use foreign_types::ForeignTypeRef; use foreign_types::ForeignTypeRef; use std::mem; use std::mem; Loading Loading
openssl/src/x509/mod.rs +20 −7 Original line number Original line Diff line number Diff line Loading @@ -13,15 +13,28 @@ //! //! //! 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() { //! fn main() { //! let cert = include_bytes!("cert_with_alt_name.pem"); //! let rsa = Rsa::generate(2048).unwrap(); //! let cert = X509::from_pem(cert).unwrap(); //! let pkey = PKey::from_rsa(rsa).unwrap(); //! //! //! let subject_alt_names = cert.subject_alt_names().unwrap(); //! let mut name = X509Name::builder().unwrap(); //! let mut san_iter = subject_alt_names.iter(); //! name.append_entry_by_nid(Nid::COMMONNAME, "foobar.com").unwrap(); //! println!("{:?}", san_iter.next().unwrap().dnsname().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(); //! } //! } //! ``` //! ``` Loading
openssl/src/x509/store.rs +24 −5 Original line number Original line Diff line number Diff line Loading @@ -6,21 +6,40 @@ //! # Example //! # Example //! //! //! ```rust //! ```rust //! //! extern crate openssl; //! extern crate openssl; //! //! //! use openssl::x509::X509; //! use openssl::x509::store::{X509StoreBuilder, X509Store}; //! 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() { //! fn main() { //! let cert = include_bytes!("cert.pem"); //! let rsa = Rsa::generate(2048).unwrap(); //! let cert = X509::from_pem(cert).ok().expect("Failed to load PEM"); //! 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 mut builder = X509StoreBuilder::new().unwrap(); //! let _ = builder.add_cert(cert); //! let _ = builder.add_cert(certificate); //! //! //! let store: X509Store = builder.build(); //! let store: X509Store = builder.build(); //! } //! } //! ``` //! ``` use ffi; use ffi; use foreign_types::ForeignTypeRef; use foreign_types::ForeignTypeRef; use std::mem; use std::mem; Loading