Sample code for 30+ languages & platforms
Lua 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 Lua Downloads

Lua
local chilkat = require("chilkat")

-- 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.
local privKey = chilkat.PrivateKey.new()
local success = privKey:load_any_format_file("qa_data/pem/rsa_passwd.pem", "passwd")
if not success then
    print(privKey.last_error_text)
    return
end

local rsa = chilkat.Rsa.new()
rsa:use_private_key(privKey)

local originalData = "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
rsa.charset = "iso-8859-1"

-- We want the RSA signature in base64 format
rsa.encoding_mode = "base64"

local sigBase64 = rsa:sign_string_enc(originalData, "sha256")
print(sigBase64)