From 7db00b97ba4a5e513e2a8bd555bd2b2c36bc0afa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20Sch=C3=B6lling?= Date: Wed, 15 Apr 2015 22:54:03 +0200 Subject: Add X509::public_key() --- openssl/src/crypto/pkey.rs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'openssl/src/crypto') diff --git a/openssl/src/crypto/pkey.rs b/openssl/src/crypto/pkey.rs index 8454f252..33433b0c 100644 --- a/openssl/src/crypto/pkey.rs +++ b/openssl/src/crypto/pkey.rs @@ -11,7 +11,7 @@ use ffi; use ssl::error::{SslError, StreamError}; #[derive(Copy, Clone)] -enum Parts { +pub enum Parts { Neither, Public, Both @@ -70,6 +70,16 @@ impl PKey { } } + pub fn from_handle(handle: *mut ffi::EVP_PKEY, parts: Parts) -> PKey { + ffi::init(); + assert!(!handle.is_null()); + + PKey { + evp: handle, + parts: parts, + } + } + /// Reads private key from PEM, takes ownership of handle pub fn private_key_from_pem(reader: &mut R) -> Result where R: Read { let mut mem_bio = try!(MemBio::new()); -- cgit v1.2.3