Sample code for 30+ languages & platforms
Xbase++ Requires Chilkat v11.0.0+

Convert RSA Private Key to Public Key

See more RSA Examples

Demonstrates how to get a public RSA key from a private RSA key.

Chilkat Xbase++ Downloads

Xbase++
LOCAL nSuccess
LOCAL oPrivKey
LOCAL oPubKey
LOCAL nBPreferPkcs1

nSuccess := 0

oPrivKey := CreateObject("Chilkat.PrivateKey")

//  Step 1: Load the private key from a source.
//  (Chilkat can load private keys from all types of formats, and from in-memory bytes or encoded strings.
//  see the online reference documentation for more options.)
nSuccess := oPrivKey:LoadPemFile("qa_data/pem/VP_Private.pem")
IF (nSuccess == 0)
    ? oPrivKey:LastErrorText
    oPrivKey:destroy()
    RETURN
ENDIF

//  Step 2: Get the public key object from the private key object.
oPubKey := CreateObject("Chilkat.PublicKey")
oPrivKey:ToPublicKey(oPubKey)

//  Step 3: Save the public key in a desired format. 
//  (Chilkat can load or save public and private keys in many different formats.  See
//  the online reference documentation for more options.)

//  Saves to a PKCS8 PEM file.
nBPreferPkcs1 := 0
nSuccess := oPubKey:SavePemFile(nBPreferPkcs1, "qa_data/pem/VP_Public.pem")
IF (oPubKey:LastMethodSuccess == 0)
    ? oPubKey:LastErrorText
    oPrivKey:destroy()
    oPubKey:destroy()
    RETURN
ENDIF

? "Extracted and saved public key from private key."

oPrivKey:destroy()
oPubKey:destroy()