Thanks to everyone for pointing me to PEM_X509_INFO_read
However I've noticed a very strange problem. If I call: ASN1_d2i_fp(X509_new, d2i_X509, fp, NULL); before I call PEM_X509_INFO_read(fp, NULL, myPemCallback, NULL), and the ASN1_d2i_fp call fails, the PEM_X509_INFO_read call _always_ fails too. I can't explain this at all. These are on different fp so that's not the problem. It's as though there's some static data or perhaps a spinlock blocking the second call. I haven't tried debugging OpenSSL yet. It could very well be that I'm calling something incorrectly... I don't see it though. I am calling this from C++ so I have to do lots of casting to get the function pointers to be accepted in the first call, but I'm not sure that has anything to do with it. -- George Staikos ______________________________________________________________________ OpenSSL Project http://www.openssl.org User Support Mailing List [EMAIL PROTECTED] Automated List Manager [EMAIL PROTECTED]