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

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

Lianja
llSuccess = .F.

//  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.
loPrivKey = createobject("CkPrivateKey")
llSuccess = loPrivKey.LoadAnyFormatFile("qa_data/pem/rsa_passwd.pem","passwd")
if (llSuccess = .F.) then
    ? loPrivKey.LastErrorText
    release loPrivKey
    return
endif

loRsa = createobject("CkRsa")
loRsa.UsePrivateKey(loPrivKey)

lcOriginalData = "This is the string to be hashed an RSA signed."

//  Indicate that we want the iso-8859-1 byte representation of the string to be signed
loRsa.Charset = "iso-8859-1"

//  We want the RSA signature in base64 format
loRsa.EncodingMode = "base64"

lcSigBase64 = loRsa.SignStringENC(lcOriginalData,"sha256")
? lcSigBase64


release loPrivKey
release loRsa