简体   繁体   中英

Extracting public key from private key in OpenSSL

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.

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 ;)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM