Sample code for 30+ languages & platforms
DataFlex

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 DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoPrivKey
    Variant vPubKey
    Handle hoPubKey
    Boolean iBPreferPkcs1
    String sTemp1
    Boolean bTemp1

    Move False To iSuccess

    Get Create (RefClass(cComChilkatPrivateKey)) To hoPrivKey
    If (Not(IsComObjectCreated(hoPrivKey))) Begin
        Send CreateComObject of hoPrivKey
    End

    // 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.)
    Get ComLoadPemFile Of hoPrivKey "qa_data/pem/VP_Private.pem" To iSuccess
    If (iSuccess = False) Begin
        Get ComLastErrorText Of hoPrivKey To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    // Step 2: Get the public key object from the private key object.
    Get Create (RefClass(cComChilkatPublicKey)) To hoPubKey
    If (Not(IsComObjectCreated(hoPubKey))) Begin
        Send CreateComObject of hoPubKey
    End
    Get pvComObject of hoPubKey to vPubKey
    Get ComToPublicKey Of hoPrivKey vPubKey To iSuccess

    // 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.
    Move False To iBPreferPkcs1
    Get ComSavePemFile Of hoPubKey iBPreferPkcs1 "qa_data/pem/VP_Public.pem" To iSuccess
    Get ComLastMethodSuccess Of hoPubKey To bTemp1
    If (bTemp1 = False) Begin
        Get ComLastErrorText Of hoPubKey To sTemp1
        Showln sTemp1
        Procedure_Return
    End

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


End_Procedure