Hi all.
I'm trying to use the OpenSSL crypto lib. I've generated a public/private
RSA key pair. Then I wrote some code to try to encrypt an eight-byte random
string. But it crashes in RSA_size(). Here's the code:
BIO* bp = BIO_new_mem_buf(_publicKey, -1); //
Create a new memory buffer BIO.
RSA* pubKey = PEM_read_bio_RSA_PUBKEY(bp, 0, 0, 0); //
And read the RSA key from it.
BIO_free(bp);
// Allocate a string to hold the encrypted result.
unsigned char encryptedRandKey[RSA_size(pubKey)];
_pubKey is a null-terminated character string that contains the RSA public
key in PEM format (including -----BEGIN and so forth). RSA_size() crashes
with bad access. Removing BIO_free() didn't make any difference. I also
just tried assigning the value of RSA_size() to an int, and it crashed.
Any ideas here?
Thanks!
Gavin