[openssl-users] Get raw RSA public key from X509 certificate

Ken Goldman kgoldman at us.ibm.com
Thu Apr 26 22:48:18 UTC 2018

On 04/26/18 16:37, Matt Caswell wrote:
> On 26/04/18 21:17, Ken Goldman wrote:
>> I have to get the raw public modulus, but I cannot X509_get_pubkey()
>> because of a non-standard object identifier.
>> I can use X509_get_X509_PUBKEY() to get part way there.  I see the DER
>> wrapped key in the public_key.data element, but I don't know an API to
>> get to that element.
> How about X509_PUBKEY_get0_param():
> https://www.openssl.org/docs/man1.1.0/crypto/X509_PUBKEY_get0_param.html

Thanks!  That got me halfway there.

That gives me a DER steam that is a SEQUENCE of two INTEGERs.  The first 
is the public modulus and the second one is the exponent.

How do I go from that SEQUENCE to the components, and then from the 
components to their byte streams and lengths?

I assume it's some raw DER function like d2i_something.

More information about the openssl-users mailing list