Remove unwraps from rsa accessors

This commit is contained in:
Steven Fackler 2016-01-22 19:10:22 -08:00
parent 18e7e2455c
commit 7610804c9d
1 changed files with 11 additions and 10 deletions

View File

@ -1,6 +1,7 @@
use ffi; use ffi;
use bn::BigNum; use bn::BigNum;
use std::fmt; use std::fmt;
use ssl::error::SslError;
pub struct RSA { pub struct RSA {
rsa_obj : ffi::RSA rsa_obj : ffi::RSA
@ -8,33 +9,33 @@ pub struct RSA {
impl RSA { impl RSA {
// The following getters are unsafe, since BigNum::new_from_ffi fails upon null pointers // The following getters are unsafe, since BigNum::new_from_ffi fails upon null pointers
pub fn n(&self) -> BigNum { pub fn n(&self) -> Result<BigNum, SslError> {
unsafe { unsafe {
BigNum::new_from_ffi(self.rsa_obj.n).unwrap() BigNum::new_from_ffi(self.rsa_obj.n)
} }
} }
pub fn d(&self) -> BigNum { pub fn d(&self) -> Result<BigNum, SslError> {
unsafe { unsafe {
BigNum::new_from_ffi(self.rsa_obj.d).unwrap() BigNum::new_from_ffi(self.rsa_obj.d)
} }
} }
pub fn e(&self) -> BigNum { pub fn e(&self) -> Result<BigNum, SslError> {
unsafe { unsafe {
BigNum::new_from_ffi(self.rsa_obj.e).unwrap() BigNum::new_from_ffi(self.rsa_obj.e)
} }
} }
pub fn p(&self) -> BigNum { pub fn p(&self) -> Result<BigNum, SslError> {
unsafe { unsafe {
BigNum::new_from_ffi(self.rsa_obj.p).unwrap() BigNum::new_from_ffi(self.rsa_obj.p)
} }
} }
pub fn q(&self) -> BigNum { pub fn q(&self) -> Result<BigNum, SslError> {
unsafe { unsafe {
BigNum::new_from_ffi(self.rsa_obj.q).unwrap() BigNum::new_from_ffi(self.rsa_obj.q)
} }
} }
} }