Sample code for 30+ languages & platforms
DataFlex

Load RSA Public Key from Hex Modulus and Exponent

See more RSA Examples

Load an RSA public key from a hex modulus and exponent.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    String sModulus
    String sExponent
    Handle hoBdModulus
    Handle hoBdExponent
    Handle hoXml
    Handle hoPubkey
    String sTemp1

    Move False To iSuccess

    // Load a 128-byte (1024-bit) modulus + exponent into a Chilkat public key object..
    Move "BF5F4AF9A018B5F324A0C10448C0D3248D9BE78967FDC551A27876AC5789ADCBA8245D3D942AE3799563D895DA801E765D225A54FA15DAB2C4731DD817DCF94A9AD62197074C2349442093A206234BF3747F0E88AA6F538355684CC1FB26FCE029C9050A1DAF9F507C2BABF6EFC9FB16320C8036721BE0279FBB76122C41E429" To sModulus

    Move "00000003" To sExponent

    // We'll need to re-encode from hex to base64..
    Get Create (RefClass(cComChilkatBinData)) To hoBdModulus
    If (Not(IsComObjectCreated(hoBdModulus))) Begin
        Send CreateComObject of hoBdModulus
    End
    Get ComAppendEncoded Of hoBdModulus sModulus "hex" To iSuccess
    Get Create (RefClass(cComChilkatBinData)) To hoBdExponent
    If (Not(IsComObjectCreated(hoBdExponent))) Begin
        Send CreateComObject of hoBdExponent
    End
    Get ComAppendEncoded Of hoBdExponent sExponent "hex" To iSuccess

    Get Create (RefClass(cComChilkatXml)) To hoXml
    If (Not(IsComObjectCreated(hoXml))) Begin
        Send CreateComObject of hoXml
    End
    Set ComTag Of hoXml To "RsaKeyValue"
    Get ComGetEncoded Of hoBdModulus "base64" To sTemp1
    Send ComNewChild2 To hoXml "Modulus" sTemp1
    Get ComGetEncoded Of hoBdExponent "base64" To sTemp1
    Send ComNewChild2 To hoXml "Exponent" sTemp1

    // Now load into the pubkey object..
    Get Create (RefClass(cComChilkatPublicKey)) To hoPubkey
    If (Not(IsComObjectCreated(hoPubkey))) Begin
        Send CreateComObject of hoPubkey
    End
    Get ComGetXml Of hoXml To sTemp1
    Get ComLoadFromString Of hoPubkey sTemp1 To iSuccess
    If (iSuccess = False) Begin
        Get ComLastErrorText Of hoPubkey To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Showln "Success."


End_Procedure