tags:

views:

264

answers:

2

Hello,

I need to extract the RSA public key from a RSA private key using OpenSSL.

I'm currently using RSAPublicKey_dup() passing the RSA* private key to get the public key. However, while the call seems to work, I cannot load (or use) this public key using the openssl command-line tool.

If I generate the public key using the command-line tool ("$ openssl rsa -in private.pem -pubout > public.pem"), I can use it and it works like a charm.

Do you guys know how I can get this work ? Maybe another function ? The OpenSSL documentation is quite hard to browse...

Thank you.

+1  A: 

I managed to make this work using PEM_write_bio_RSA_PUBKEY() to write the PEM data to a in-memory buffer, then using PEM_read_bio_RSA_PUBKEY() to get a new RSA*.

Now the generated public key can be used ;)

ereOn