diff options
Diffstat (limited to 'src/cipherstring.rs')
-rw-r--r-- | src/cipherstring.rs | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/cipherstring.rs b/src/cipherstring.rs index 73eeeb6..7a12915 100644 --- a/src/cipherstring.rs +++ b/src/cipherstring.rs @@ -4,6 +4,7 @@ use block_modes::BlockMode as _; use block_padding::Padding as _; use hmac::{Mac as _, NewMac as _}; use rand::RngCore as _; +use rsa::pkcs8::FromPrivateKey as _; use zeroize::Zeroize as _; pub enum CipherString { @@ -186,8 +187,8 @@ impl CipherString { let privkey_data = private_key.private_key(); let privkey_data = block_padding::Pkcs7::unpad(privkey_data) .map_err(|_| Error::Padding)?; - let pkey = rsa::RSAPrivateKey::from_pkcs8(privkey_data) - .map_err(|source| Error::Rsa { source })?; + let pkey = rsa::RsaPrivateKey::from_pkcs8_der(privkey_data) + .map_err(|source| Error::RsaPkcs8 { source })?; let mut bytes = pkey .decrypt( rsa::padding::PaddingScheme::new_oaep::<sha1::Sha1>(), |