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

RSASSA-PSS Algorithm with SHA256 Hashing

See more RSA Examples

RSA encrypt a SHA256 hash with OAEP padding.

Chilkat Delphi ActiveX Downloads

Delphi ActiveX
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);