aboutsummaryrefslogtreecommitdiff
path: root/openssl/src
diff options
context:
space:
mode:
authorSteven Fackler <[email protected]>2016-07-29 22:30:47 -0700
committerGitHub <[email protected]>2016-07-29 22:30:47 -0700
commit6c52291e41644149d1f1d3e37a80ece270aea6bc (patch)
tree4904609788700bad14f904b5224f32b86a655470 /openssl/src
parentMerge pull request #425 from bbatha/chore/cargo-workspace (diff)
parentimprove error handling in rsa (diff)
downloadrust-openssl-6c52291e41644149d1f1d3e37a80ece270aea6bc.tar.xz
rust-openssl-6c52291e41644149d1f1d3e37a80ece270aea6bc.zip
Merge pull request #429 from bbatha/fix/crypto-errors
improve error handling in rsa
Diffstat (limited to 'openssl/src')
-rw-r--r--openssl/src/crypto/rsa.rs42
1 files changed, 14 insertions, 28 deletions
diff --git a/openssl/src/crypto/rsa.rs b/openssl/src/crypto/rsa.rs
index 3b420fbc..2b563a7a 100644
--- a/openssl/src/crypto/rsa.rs
+++ b/openssl/src/crypto/rsa.rs
@@ -110,23 +110,17 @@ impl RSA {
{
let mut mem_bio = try!(MemBio::new());
- let result = unsafe {
- ffi::PEM_write_bio_RSAPrivateKey(mem_bio.get_handle(),
+ unsafe {
+ try_ssl!(ffi::PEM_write_bio_RSAPrivateKey(mem_bio.get_handle(),
self.0,
ptr::null(),
ptr::null_mut(),
0,
None,
- ptr::null_mut())
- };
-
- if result == 1 {
- try!(io::copy(&mut mem_bio, writer).map_err(StreamError));
-
- Ok(())
- } else {
- Err(SslError::OpenSslErrors(vec![]))
+ ptr::null_mut()));
}
+ try!(io::copy(&mut mem_bio, writer).map_err(StreamError));
+ Ok(())
}
/// Reads an RSA public key from PEM formatted data.
@@ -151,15 +145,12 @@ impl RSA {
{
let mut mem_bio = try!(MemBio::new());
- let result = unsafe { ffi::PEM_write_bio_RSA_PUBKEY(mem_bio.get_handle(), self.0) };
-
- if result == 1 {
- try!(io::copy(&mut mem_bio, writer).map_err(StreamError));
+ unsafe {
+ try_ssl!(ffi::PEM_write_bio_RSA_PUBKEY(mem_bio.get_handle(), self.0))
+ };
- Ok(())
- } else {
- Err(SslError::OpenSslErrors(vec![]))
- }
+ try!(io::copy(&mut mem_bio, writer).map_err(StreamError));
+ Ok(())
}
pub fn size(&self) -> Result<u32, SslError> {
@@ -176,19 +167,14 @@ impl RSA {
let mut sig_len = k_len;
unsafe {
- let result = ffi::RSA_sign(hash.as_nid() as c_int,
+ try_ssl!(ffi::RSA_sign(hash.as_nid() as c_int,
message.as_ptr(),
message.len() as u32,
sig.as_mut_ptr(),
&mut sig_len,
- self.0);
+ self.0));
assert!(sig_len == k_len);
-
- if result == 1 {
- Ok(sig)
- } else {
- Err(SslError::OpenSslErrors(vec![]))
- }
+ Ok(sig)
}
}
@@ -200,7 +186,7 @@ impl RSA {
sig.as_ptr(),
sig.len() as u32,
self.0);
-
+ try_ssl_if!(result == -1);
Ok(result == 1)
}
}