Loading openssl-sys/src/lib.rs +2 −0 Original line number Diff line number Diff line Loading @@ -284,6 +284,7 @@ pub const BIO_FLAGS_SHOULD_RETRY: c_int = 0x08; pub const CRYPTO_LOCK: c_int = 1; pub const EVP_MAX_MD_SIZE: c_uint = 64; pub const EVP_PKEY_RSA: c_int = NID_rsaEncryption; pub const MBSTRING_ASC: c_int = MBSTRING_FLAG | 1; pub const MBSTRING_BMP: c_int = MBSTRING_FLAG | 2; Loading @@ -291,6 +292,7 @@ pub const MBSTRING_FLAG: c_int = 0x1000; pub const MBSTRING_UNIV: c_int = MBSTRING_FLAG | 4; pub const MBSTRING_UTF8: c_int = MBSTRING_FLAG; pub const NID_rsaEncryption: c_int = 6; pub const NID_ext_key_usage: c_int = 126; pub const NID_key_usage: c_int = 83; Loading openssl/src/crypto/pkey.rs +9 −5 Original line number Diff line number Diff line use libc::{c_void, c_char}; use std::ptr; use bio::{MemBio, MemBioSlice}; use std::mem; use ffi; use bio::{MemBio, MemBioSlice}; use crypto::rsa::RSA; use error::ErrorStack; use crypto::util::{CallbackState, invoke_passwd_cb}; Loading @@ -14,11 +15,14 @@ unsafe impl Sync for PKey {} /// Represents a public key, optionally with a private key attached. impl PKey { pub fn new() -> Result<PKey, ErrorStack> { ffi::init(); /// Create a new `PKey` containing an RSA key. pub fn from_rsa(rsa: RSA) -> Result<PKey, ErrorStack> { unsafe { let evp = try_ssl_null!(ffi::EVP_PKEY_new()); Ok(PKey::from_handle(evp)) let pkey = PKey(evp); try_ssl!(ffi::EVP_PKEY_assign(pkey.0, ffi::EVP_PKEY_RSA, rsa.as_ptr() as *mut _)); mem::forget(rsa); Ok(pkey) } } Loading openssl/src/x509/mod.rs +1 −2 Original line number Diff line number Diff line Loading @@ -118,8 +118,7 @@ impl X509StoreContext { /// use openssl::x509::extension::{Extension, KeyUsageOption}; /// /// let rsa = RSA::generate(2048).unwrap(); /// let mut pkey = PKey::new().unwrap(); /// pkey.set_rsa(&rsa).unwrap(); /// let pkey = PKey::from_rsa(rsa).unwrap(); /// /// let gen = X509Generator::new() /// .set_valid_period(365*2) Loading openssl/src/x509/tests.rs +1 −2 Original line number Diff line number Diff line Loading @@ -26,8 +26,7 @@ fn get_generator() -> X509Generator { fn pkey() -> PKey { let rsa = RSA::generate(2048).unwrap(); let mut pkey = PKey::new().unwrap(); pkey.set_rsa(&rsa).unwrap(); let mut pkey = PKey::from_rsa(rsa).unwrap(); pkey } Loading Loading
openssl-sys/src/lib.rs +2 −0 Original line number Diff line number Diff line Loading @@ -284,6 +284,7 @@ pub const BIO_FLAGS_SHOULD_RETRY: c_int = 0x08; pub const CRYPTO_LOCK: c_int = 1; pub const EVP_MAX_MD_SIZE: c_uint = 64; pub const EVP_PKEY_RSA: c_int = NID_rsaEncryption; pub const MBSTRING_ASC: c_int = MBSTRING_FLAG | 1; pub const MBSTRING_BMP: c_int = MBSTRING_FLAG | 2; Loading @@ -291,6 +292,7 @@ pub const MBSTRING_FLAG: c_int = 0x1000; pub const MBSTRING_UNIV: c_int = MBSTRING_FLAG | 4; pub const MBSTRING_UTF8: c_int = MBSTRING_FLAG; pub const NID_rsaEncryption: c_int = 6; pub const NID_ext_key_usage: c_int = 126; pub const NID_key_usage: c_int = 83; Loading
openssl/src/crypto/pkey.rs +9 −5 Original line number Diff line number Diff line use libc::{c_void, c_char}; use std::ptr; use bio::{MemBio, MemBioSlice}; use std::mem; use ffi; use bio::{MemBio, MemBioSlice}; use crypto::rsa::RSA; use error::ErrorStack; use crypto::util::{CallbackState, invoke_passwd_cb}; Loading @@ -14,11 +15,14 @@ unsafe impl Sync for PKey {} /// Represents a public key, optionally with a private key attached. impl PKey { pub fn new() -> Result<PKey, ErrorStack> { ffi::init(); /// Create a new `PKey` containing an RSA key. pub fn from_rsa(rsa: RSA) -> Result<PKey, ErrorStack> { unsafe { let evp = try_ssl_null!(ffi::EVP_PKEY_new()); Ok(PKey::from_handle(evp)) let pkey = PKey(evp); try_ssl!(ffi::EVP_PKEY_assign(pkey.0, ffi::EVP_PKEY_RSA, rsa.as_ptr() as *mut _)); mem::forget(rsa); Ok(pkey) } } Loading
openssl/src/x509/mod.rs +1 −2 Original line number Diff line number Diff line Loading @@ -118,8 +118,7 @@ impl X509StoreContext { /// use openssl::x509::extension::{Extension, KeyUsageOption}; /// /// let rsa = RSA::generate(2048).unwrap(); /// let mut pkey = PKey::new().unwrap(); /// pkey.set_rsa(&rsa).unwrap(); /// let pkey = PKey::from_rsa(rsa).unwrap(); /// /// let gen = X509Generator::new() /// .set_valid_period(365*2) Loading
openssl/src/x509/tests.rs +1 −2 Original line number Diff line number Diff line Loading @@ -26,8 +26,7 @@ fn get_generator() -> X509Generator { fn pkey() -> PKey { let rsa = RSA::generate(2048).unwrap(); let mut pkey = PKey::new().unwrap(); pkey.set_rsa(&rsa).unwrap(); let mut pkey = PKey::from_rsa(rsa).unwrap(); pkey } Loading