Sample code for 30+ languages & platforms
DataFlex

RSA Signature SHA256withRSA, iso-8859-1, base64

See more RSA Examples

RSA sign the iso-8859-1 byte representation of a string with SHA256withRSA, and return the signature in the base64 encoding.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Variant vPrivKey
    Handle hoPrivKey
    Handle hoRsa
    String sOriginalData
    String sSigBase64
    String sTemp1

    Move False To iSuccess

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

    // This example will duplicate the following Java code:
    // 
    // Signature sign = Signature.getInstance("SHA256withRSA");
    // sign.initSign(privateKey);
    // sign.update(original.getBytes(Charset.forName("ISO-8859-1")));
    // 
    // ...
    // byte[] resultado = sign.sign();
    // sello = encodeByteArrayToBase64(resultado);
    // 

    // Load an RSA private key for signing.
    // You can load any format file.  This example loads a .pem, but you can provide path to any type of file holding a private key.
    Get Create (RefClass(cComChilkatPrivateKey)) To hoPrivKey
    If (Not(IsComObjectCreated(hoPrivKey))) Begin
        Send CreateComObject of hoPrivKey
    End
    Get ComLoadAnyFormatFile Of hoPrivKey "qa_data/pem/rsa_passwd.pem" "passwd" To iSuccess
    If (iSuccess = False) Begin
        Get ComLastErrorText Of hoPrivKey To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Get Create (RefClass(cComChilkatRsa)) To hoRsa
    If (Not(IsComObjectCreated(hoRsa))) Begin
        Send CreateComObject of hoRsa
    End
    Get pvComObject of hoPrivKey to vPrivKey
    Get ComUsePrivateKey Of hoRsa vPrivKey To iSuccess

    Move "This is the string to be hashed an RSA signed." To sOriginalData

    // Indicate that we want the iso-8859-1 byte representation of the string to be signed
    Set ComCharset Of hoRsa To "iso-8859-1"

    // We want the RSA signature in base64 format
    Set ComEncodingMode Of hoRsa To "base64"

    Get ComSignStringENC Of hoRsa sOriginalData "sha256" To sSigBase64
    Showln sSigBase64


End_Procedure