summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnthony Uk <uk@dataway.ch>2011-10-31 14:40:16 +0100
committerAnthony Uk <uk@dataway.ch>2011-10-31 14:40:16 +0100
commite334f711688336ab8bb1a9c887012064254e1bf4 (patch)
tree2d2c67a4f4d113cedc6310e0d938e8cf36d5a200
parent56b2fb8abb3ea3d846bb336a7bc25fa2b0a9c0d9 (diff)
downloadpyopenssl-e334f711688336ab8bb1a9c887012064254e1bf4.tar.gz
Fix segfault on PKey.check() when there is no private key
-rw-r--r--OpenSSL/crypto/pkey.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/OpenSSL/crypto/pkey.c b/OpenSSL/crypto/pkey.c
index 27ea4d4..711306d 100644
--- a/OpenSSL/crypto/pkey.c
+++ b/OpenSSL/crypto/pkey.c
@@ -124,6 +124,11 @@ crypto_PKey_check(crypto_PKeyObj *self, PyObject *args) {
return NULL;
}
+ if (self->only_public) {
+ PyErr_SetString(PyExc_TypeError, "public key only");
+ return NULL;
+ }
+
if (self->pkey->type == EVP_PKEY_RSA) {
RSA *rsa;
rsa = EVP_PKEY_get1_RSA(self->pkey);