Sample code for 30+ languages & platforms
Delphi ActiveX

RSASSA-PSS Algorithm with SHA256 Hashing

See more RSA Examples

RSA encrypt a SHA256 hash with OAEP padding.

Chilkat Delphi ActiveX Downloads

Delphi ActiveX
uses
    Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
    Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Chilkat_TLB;

...

procedure TForm1.Button1Click(Sender: TObject);
var
success: Integer;
privkey: TPrivateKey;
rsa: TChilkatRsa;
sigStr: WideString;

begin
success := 0;

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

privkey := TPrivateKey.Create(Self);

// Load the private key object from a PEM file.
// (To load from a PEM string, call LoadPem instead.)
success := privkey.LoadPemFile('somePath/myPrivateKey.pem');
if (success = 0) then
  begin
    Memo1.Lines.Add(privkey.LastErrorText);
    Exit;
  end;

rsa := TChilkatRsa.Create(Self);
// Use RSA-PSS by setting PkcsPadding = 0
rsa.PkcsPadding := 0;
// Use SHA256
rsa.OaepHash := 'SHA-256';

rsa.UsePrivateKey(privkey.ControlInterface);

// Generate a base64 signature.
rsa.EncodingMode := 'base64';

sigStr := rsa.SignStringENC('String to be signed','SHA-256');
if (rsa.LastMethodSuccess = 0) then
  begin
    Memo1.Lines.Add(rsa.LastErrorText);
    Exit;
  end;

Memo1.Lines.Add('Signature: ' + sigStr);
end;