diff options
| author | Steven Fackler <[email protected]> | 2016-11-13 17:42:45 +0000 |
|---|---|---|
| committer | Steven Fackler <[email protected]> | 2016-11-13 17:42:45 +0000 |
| commit | df9666c334f29d4d0887919c2b35c45092960d3a (patch) | |
| tree | 6854bd46f774eab430a2e21e850a61c1900e67d9 /openssl/src/macros.rs | |
| parent | Macroise from_der (diff) | |
| download | rust-openssl-df9666c334f29d4d0887919c2b35c45092960d3a.tar.xz rust-openssl-df9666c334f29d4d0887919c2b35c45092960d3a.zip | |
Macroise to_pem
Diffstat (limited to 'openssl/src/macros.rs')
| -rw-r--r-- | openssl/src/macros.rs | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/openssl/src/macros.rs b/openssl/src/macros.rs index 39944124..a57f36eb 100644 --- a/openssl/src/macros.rs +++ b/openssl/src/macros.rs @@ -136,6 +136,33 @@ macro_rules! private_key_to_pem { } } +macro_rules! to_pem_inner { + (#[$m:meta] $n:ident, $f:path) => { + #[$m] + pub fn $n(&self) -> Result<Vec<u8>, ::error::ErrorStack> { + unsafe { + let bio = try!(::bio::MemBio::new()); + try!(cvt($f(bio.as_ptr(), self.as_ptr()))); + Ok(bio.get_buf().to_owned()) + } + } + } +} + +macro_rules! public_key_to_pem { + ($f:path) => { + to_pem_inner!(/// Serializes a public key to PEM. + public_key_to_pem, $f); + } +} + +macro_rules! to_pem { + ($f:path) => { + to_pem_inner!(/// Serializes this value to PEM. + to_pem, $f); + } +} + macro_rules! to_der_inner { (#[$m:meta] $n:ident, $f:path) => { #[$m] |