From c5da7131f53f6fb659f64be4b9bf089f7e389143 Mon Sep 17 00:00:00 2001 From: Steven Fackler Date: Thu, 29 Sep 2016 00:09:31 +0200 Subject: [PATCH] Make sure private component exists when signing Closes #457 --- openssl/src/crypto/rsa.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/openssl/src/crypto/rsa.rs b/openssl/src/crypto/rsa.rs index feb66a6f..3ba063cd 100644 --- a/openssl/src/crypto/rsa.rs +++ b/openssl/src/crypto/rsa.rs @@ -163,6 +163,7 @@ impl RSA { } pub fn sign(&self, hash: hash::Type, message: &[u8]) -> Result, ErrorStack> { + assert!(self.d().is_some(), "private components missing"); let k_len = self.size().expect("RSA missing an n"); let mut sig = vec![0; k_len as usize]; let mut sig_len = k_len;