I'm trying to read a certificate in PEM format from memory, using BIO, but
everytime, it just returns NULL. Can anyone point out what's wrong with this
code?
char * mykey =
"-----BEGIN CERTIFICATE-----\n" \
"MIIBzjCCATegAwIBAgIIB+d8Z03zbQQwDQYJKoZIhvcNAQEFBQAwHzEMMAoGA1UEAxMDY3NwMQ8wDQYDVQQGDAbkuK3lm70wHhcNMDUwMjA2MDc1OTQ3WhcNMDcwMjA2MDc1OTQ3WjAfMQwwCgYDVQQDEwNjc3AxDzANBgNVBAYMBuS4reWbvTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAi5ERCTk3RC8W/9T+ozruc9kWhLh9vQ1Ke130TfzWgX0wK2qGNUy+C4CCsjn6ThO8vz4QQtbt1QSwl8+BUAUdAto2iiHyI4nzxEnwhTheRDFnJsjMwwbjkYXZIDgpt+EiT9U0UryHtNaPUK7+se9Ee7PpjbJb51vwHhIGOikhDdkCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEBADANBgkqhkiG9w0BAQUFAAOBgQB/nUFATa4V8CXo0nMZYzBGA+bddbkphmW1unD/BLLbWq4ant4bgALt0a1nqHKEAPkeHXryxvsvZAoRR4mI7YvEjQvKaA06AwniATOcMDsa3RrHRoXp+/N2OfNMzjYt3Wa0ZqiI9Y/u1odrkvFamhKuCpMzvrJSOACsiKB31v2fuw==\n"
\
"-----END CERTIFICATE-----\n";
BIO *bio = BIO_new_mem_buf(mykey, -1);
X509 *x509 = NULL;
PEM_read_bio_X509(bio, &x509, 0, NULL);
if (x509 == NULL)
std::cout << "PEM_read_bio_X509 failed..." << std::endl;
The problem is PEM_read_bio_X509() always return NULL for x509. I must have
done something wrong, but have no clue what is going on here. Browsing thru
the book "Network Security with OpenSSL" over and over again, and even
reading the code of OpenSSL, the way I invoked those functions seems correct
to me.
Any help would be very much appreciated.
rgds
_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today - it's FREE!
http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/
______________________________________________________________________
OpenSSL Project http://www.openssl.org
User Support Mailing List openssl-users@openssl.org
Automated List Manager [EMAIL PROTECTED]