diff options
| author | Steven Fackler <[email protected]> | 2014-10-08 12:59:19 -0400 |
|---|---|---|
| committer | Steven Fackler <[email protected]> | 2014-10-08 12:59:19 -0400 |
| commit | 19eab0e7d729159104a0959c7c1209f1e8951db2 (patch) | |
| tree | c8964af75d74b97a4ff408d2aaad7510ed2c939b /src | |
| parent | Merge pull request #73 from vhbit/minor-doc-fixes (diff) | |
| parent | X509 Generator sample (diff) | |
| download | rust-openssl-19eab0e7d729159104a0959c7c1209f1e8951db2.tar.xz rust-openssl-19eab0e7d729159104a0959c7c1209f1e8951db2.zip | |
Merge pull request #74 from vhbit/doc-samples
X509 Generator sample
Diffstat (limited to 'src')
| -rwxr-xr-x | src/ffi.rs | 2 | ||||
| -rw-r--r-- | src/x509/mod.rs | 30 |
2 files changed, 31 insertions, 1 deletions
@@ -193,7 +193,7 @@ extern { } pub unsafe fn BN_is_zero(a: *mut BIGNUM) -> c_int { bn_is_zero(a) } /* Special import from native/bn_is_zero.c */ -#[link(name="wrapped")] +#[link(name = "wrapped", kind = "static")] extern "C" { pub fn bn_is_zero(a: *mut BIGNUM) -> c_int; } diff --git a/src/x509/mod.rs b/src/x509/mod.rs index f04f6ff1..88b81d7e 100644 --- a/src/x509/mod.rs +++ b/src/x509/mod.rs @@ -133,6 +133,36 @@ impl<'a, T: AsStr<'a>> ToStr for Vec<T> { } #[allow(non_snake_case)] +/// Generator of private key/certificate pairs +/// +/// # Example +/// +/// ``` +/// use std::io::{File, Open, Write}; +/// # use std::io::fs; +/// +/// use openssl::crypto::hash::SHA256; +/// use openssl::x509::{DigitalSignature, X509Generator}; +/// +/// let gen = X509Generator::new() +/// .set_bitlength(2048) +/// .set_valid_period(365*2) +/// .set_CN("SuperMegaCorp Inc.") +/// .set_sign_hash(SHA256) +/// .set_usage([DigitalSignature]); +/// +/// let (cert, pkey) = gen.generate().unwrap(); +/// +/// let cert_path = Path::new("doc_cert.pem"); +/// let mut file = File::open_mode(&cert_path, Open, Write).unwrap(); +/// assert!(cert.write_pem(&mut file).is_ok()); +/// # let _ = fs::unlink(&cert_path); +/// +/// let pkey_path = Path::new("doc_key.pem"); +/// let mut file = File::open_mode(&pkey_path, Open, Write).unwrap(); +/// assert!(pkey.write_pem(&mut file).is_ok()); +/// # let _ = fs::unlink(&pkey_path); +/// ``` pub struct X509Generator { bits: uint, days: uint, |