From a3c6f733f3e2932c89ef892aa0d74e4f67bf2d69 Mon Sep 17 00:00:00 2001 From: Rob Austein Date: Thu, 27 Sep 2007 23:59:44 +0000 Subject: PKCS#10 signature verification. Getting this to work required changing the implementation of POW.Asymmetric(), which appears to have been using the wrong OpenSSL functions for RSA public keys. If other things using public keys start acting funny, this may be why, and may require further examination. svn path=/pow/POW-0.7/POW.c; revision=1040 --- pow/POW-0.7/POW.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'pow/POW-0.7/POW.c') diff --git a/pow/POW-0.7/POW.c b/pow/POW-0.7/POW.c index c0d0c208..77f18f3e 100644 --- a/pow/POW-0.7/POW.c +++ b/pow/POW-0.7/POW.c @@ -4616,7 +4616,7 @@ asymmetric_object_der_read(int key_type, char *src, int len) { case RSA_PUBLIC_KEY: { - if( !(self->cipher = d2i_RSAPublicKey( NULL, (const unsigned char **) &ptr, len ) ) ) + if( !(self->cipher = d2i_RSA_PUBKEY( NULL, (const unsigned char **) &ptr, len ) ) ) { PyErr_SetString( SSLErrorObject, "could not load public key" ); goto error; } self->key_type = RSA_PUBLIC_KEY; @@ -4794,11 +4794,11 @@ asymmetric_object_der_write(asymmetric_object *self, PyObject *args) } case RSA_PUBLIC_KEY: { - len = i2d_RSAPublicKey(self->cipher, NULL); + len = i2d_RSA_PUBKEY(self->cipher, NULL); if ( !(buf = malloc(len) ) ) { PyErr_SetString( SSLErrorObject, "could not allocate memory" ); goto error; } p = buf; - if (!i2d_RSAPublicKey(self->cipher, &buf) ) + if (!i2d_RSA_PUBKEY(self->cipher, &buf) ) { PyErr_SetString( SSLErrorObject, "unable to write key" ); goto error; } break; } -- cgit v1.2.3