diff options
| author | Steven Fackler <[email protected]> | 2016-11-13 16:52:19 +0000 |
|---|---|---|
| committer | Steven Fackler <[email protected]> | 2016-11-13 16:52:19 +0000 |
| commit | b0415f466c4b62f949b1e47e6b1e703d1b24122b (patch) | |
| tree | 4cbe8cb2d812d10f22c7ed6ae2617f8fe50ecf62 /openssl/src/ec_key.rs | |
| parent | Make password callback return a Result (diff) | |
| download | rust-openssl-b0415f466c4b62f949b1e47e6b1e703d1b24122b.tar.xz rust-openssl-b0415f466c4b62f949b1e47e6b1e703d1b24122b.zip | |
Macroise to_der
Diffstat (limited to 'openssl/src/ec_key.rs')
| -rw-r--r-- | openssl/src/ec_key.rs | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/openssl/src/ec_key.rs b/openssl/src/ec_key.rs index 7406572a..706265ef 100644 --- a/openssl/src/ec_key.rs +++ b/openssl/src/ec_key.rs @@ -12,16 +12,7 @@ type_!(EcKey, EcKeyRef, ffi::EC_KEY, ffi::EC_KEY_free); impl EcKeyRef { private_key_to_pem!(ffi::PEM_write_bio_ECPrivateKey); - - /// Serializes the private key components to DER. - pub fn private_key_to_der(&self) -> Result<Vec<u8>, ErrorStack> { - unsafe { - let len = try!(cvt(ffi::i2d_ECPrivateKey(self.as_ptr(), ptr::null_mut()))); - let mut buf = vec![0; len as usize]; - try!(cvt(ffi::i2d_ECPrivateKey(self.as_ptr(), &mut buf.as_mut_ptr()))); - Ok(buf) - } - } + private_key_to_der!(ffi::i2d_ECPrivateKey); } impl EcKey { @@ -31,6 +22,7 @@ impl EcKey { cvt_p(ffi::EC_KEY_new_by_curve_name(nid.as_raw())).map(EcKey) } } + /// Deserializes a DER-encoded private key. pub fn private_key_from_der(der: &[u8]) -> Result<EcKey, ErrorStack> { unsafe { |