Sample code for 30+ languages & platforms
Delphi ActiveX

RSA Sign with PKCS8 Encrypted Key

See more RSA Examples

Demonstrates how to load a private key from an encrypted PKCS8 file and create an RSA digital signature.

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;
pkey: TPrivateKey;
rsa: TChilkatRsa;
strData: WideString;
hexSig: WideString;

begin
success := 0;

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

pkey := TPrivateKey.Create(Self);

// Load the private key from an RSA PEM file:
success := pkey.LoadPkcs8EncryptedFile('privateKey.key','myPassword');

rsa := TChilkatRsa.Create(Self);

// Import the private key into the RSA object:
success := rsa.UsePrivateKey(pkey.ControlInterface);
if (success = 0) then
  begin
    Memo1.Lines.Add(rsa.LastErrorText);
    Exit;
  end;

// Return the signature in hex
rsa.EncodingMode := 'hex';

strData := 'This is the string to be signed.';

// Sign the string using the sha-1 hash algorithm.
// Other valid choices are "md2", "sha256", "sha384", "sha512",  and "md5".
hexSig := rsa.SignStringENC(strData,'sha-1');

Memo1.Lines.Add(hexSig);
end;