Sample code for 30+ languages & platforms
DataFlex

Load PEM Public/Private Key into RSA Object

See more RSA Examples

Demonstrates how to load a PEM key into the Chilkat RSA object.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoRsa
    String sPublicKeyPem
    Variant vPubkey
    Handle hoPubkey
    String sPrivateKeyPem
    Variant vPrivkey
    Handle hoPrivkey
    String sTemp1

    Move False To iSuccess

    // This example assumes the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    Get Create (RefClass(cComChilkatRsa)) To hoRsa
    If (Not(IsComObjectCreated(hoRsa))) Begin
        Send CreateComObject of hoRsa
    End

    // First demonstrate importing a PEM public key:
    Move "PEM public-key data goes here" To sPublicKeyPem
    Get Create (RefClass(cComChilkatPublicKey)) To hoPubkey
    If (Not(IsComObjectCreated(hoPubkey))) Begin
        Send CreateComObject of hoPubkey
    End

    Get ComLoadFromString Of hoPubkey sPublicKeyPem To iSuccess
    If (iSuccess = False) Begin
        Get ComLastErrorText Of hoPubkey To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Get pvComObject of hoPubkey to vPubkey
    Get ComUsePublicKey Of hoRsa vPubkey To iSuccess
    If (iSuccess = False) Begin
        Get ComLastErrorText Of hoRsa To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    // Demonstrate importing a PEM private key:
    Move "PEM private-key data goes here" To sPrivateKeyPem
    Get Create (RefClass(cComChilkatPrivateKey)) To hoPrivkey
    If (Not(IsComObjectCreated(hoPrivkey))) Begin
        Send CreateComObject of hoPrivkey
    End

    // If the private key PEM is protected with a password, then 
    // call LoadEncryptedPem.  Otherwise call LoadPem.
    Get ComLoadPem Of hoPrivkey sPrivateKeyPem To iSuccess
    If (iSuccess = False) Begin
        Get ComLastErrorText Of hoPrivkey To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Get pvComObject of hoPrivkey to vPrivkey
    Get ComUsePrivateKey Of hoRsa vPrivkey To iSuccess
    If (iSuccess = False) Begin
        Get ComLastErrorText Of hoRsa To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Showln "OK!"


End_Procedure