dear all:

i am trying to read the rsa key from the memory (rather than from a file). here 
is what i did:

1. use the "openssl genrsa -out key.pem 1024" to generate a rsa key in the file 
key.pem.
2. copy and paste the key from the "key.pem" to my code.
3. use a mem bio to read the key from the memory.

my code to do this is like the following.

the call to "PEM_ASN1_read_bio" always return null. anybody has any idea or 
similiar experience? thanks a lot

chong peng

/* copy and paste from key.pem */
char rsakey[] = 
"-----BEGIN RSA PRIVATE KEY-----\
MIICXAIBAAKBgQC0SF/4JTo3XzffsPeNPbglZ6sz/f/mlUO/CUtB8hk0DTz3V/9r\
iWagrVHjqaF/xikWFsxbzKecRyDDNyhgMWV8eeAVGpJSvmyJZH43MWO1zCiBXsi2\
MSHqQAJOfT803qTc3tPCb5k4UK5ytvwpQ8ZIyokrnQJS0FYKsonf3ASjKwIDAQAB\
AoGAMR3Sv6lsze8sKs5s81cQV2iCFT0rPegGuAJRNZs+0JaWuJCJ7wNVKYtu1wa9\
EDGtue3mKVB9ja83NthNML/kdOszLc1G6NVnWYSzgBPPsyPAJkSZw8TQKODmw+LF\
sqGFjC73s49/lWO12Tv8qA0Zf4sXRY9dMiqX5kA5m8OWXfECQQDYkv2B1xfNK41v\
PPeggVapasX53ZIiOdjc5UuaOWU7GDLhlyyFUCkDdx4eviBAEclWfNSueJNcK1Me\
pulScGFTAkEA1RoXxsYgFVbZsK1i9hjxEqoWzP7dQBJTWqi/77BaPQvqX12ctVk0\
pa0sR4XEKxGOBr11XJVlloTjpmm1hwLDyQJBAM25o1IpLhTZIDrgoSE4e0fngzQ9\
A0m7xYLf1RclGkIuVHbykXn5kVwXVOdDF4OE4cpkPeuV4fUVuplNWCnVUr0CQBWR\
a4ChwtOGE8hO9ComQhf6gQ5EaU43zJnrZGm09p0hHJqEVf0Ax1RRX57pif4166MA\
/+Tb9gky7/uCzW2ZuQkCQFUoAhZnV9sQoifQpkCE10J3fZNyNLEvHKU3b4/rwvn7\
5W618+Fr0DiwBkH07YSWRCVvi8rsYrK2/25DXSbXbD8=\
-----END RSA PRIVATE KEY-----";

EVP_PKEY        *pkey = NULL;

int readRsaKey(void)
{
        BIO     *bio;

        if( (bio=BIO_new_mem_buf((void *)rsakey, sizeof(rsakey))) == NULL)
        {
                return(ERROR);
        }

        if( (pkey=PEM_ASN1_read_bio(d2i_PrivateKey, PEM_STRING_EVP_PKEY, bio, 
NULL, NULL, NULL)) == NULL)
        {
                return(ERROR);
        }

        BIO_free(bio);
}
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to