Delphi DLL
Delphi DLL
RSA Sign utf-8 Byte Representation of String
See more RSA Examples
Demontstrates how to sign the utf-8 byte representation of a string.Chilkat Delphi DLL Downloads
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, PrivateKey, Rsa;
...
procedure TForm1.Button1Click(Sender: TObject);
var
success: Boolean;
privKey: HCkPrivateKey;
rsa: HCkRsa;
originalData: PWideChar;
sigBase64: PWideChar;
begin
success := False;
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
// Load an RSA private key for signing.
privKey := CkPrivateKey_Create();
success := CkPrivateKey_LoadEncryptedPemFile(privKey,'qa_data/pem/rsa_passwd.pem','passwd');
if (success = False) then
begin
Memo1.Lines.Add(CkPrivateKey__lastErrorText(privKey));
Exit;
end;
rsa := CkRsa_Create();
success := CkRsa_UsePrivateKey(rsa,privKey);
if (success = False) then
begin
Memo1.Lines.Add(CkRsa__lastErrorText(rsa));
Exit;
end;
originalData := 'This is the string to be hashed an RSA signed.';
// Indicate that we want the utf-8 byte representation of the string to be signed
CkRsa_putCharset(rsa,'utf-8');
// We want the RSA signature in base64 format
CkRsa_putEncodingMode(rsa,'base64');
sigBase64 := CkRsa__signStringENC(rsa,originalData,'sha256');
Memo1.Lines.Add(sigBase64);
CkPrivateKey_Dispose(privKey);
CkRsa_Dispose(rsa);
end;