OK, this is perplexing.  I have a PEM-format RSA key in a character string
called _publicKey, with newlines between the header, key data, and trailer.
Like this:

-----BEGIN PUBLIC KEY----
MCwwHRTJKoZIhvcNAQEBBQADGwAwGAIRALPMoZzXMLIKhidteVfdR28CAwEAAQ==
-----END PUBLIC KEY-----

But PEM_read_bio_RSA_PUBKEY is still returning NULL, as in this:

            BIO* bp = BIO_new_mem_buf(_publicKey, -1);  // Create a new
memory buffer BIO.
            RSA* pubKey = 0;
            if(bp)
            {
                pubKey = PEM_read_bio_RSA_PUBKEY(bp, 0, 0, 0);  // And read
the RSA key from it.
                BIO_free(bp);
            }

Does anybody see anything I'm doing wrong?  I verified that the key string
matches what's in the PEM file that was generated on the command line.

Thanks!

Reply via email to