Sample code for 30+ languages & platforms
Delphi ActiveX

Example: Crypt2.ClearEncryptCerts method

Demonstrates how to call the ClearEncryptCerts method.

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;
crypt: TChilkatCrypt2;
cert1: TChilkatCert;
cert2: TChilkatCert;
cert3: TChilkatCert;
bd: TChilkatBinData;
cert4: TChilkatCert;
cert5: TChilkatCert;

begin
success := 0;

crypt := TChilkatCrypt2.Create(Self);

// Tell the crypt object to use 3 certificates.
// Do this by calling AddEncryptCert for each certificate.

cert1 := TChilkatCert.Create(Self);
// ...
// Load the cert from a source such as a .pfx/.p12 file, smart card, USB token, Apple keychain, Windows certificate store, etc.
// ...
crypt.AddEncryptCert(cert1.ControlInterface);

cert2 := TChilkatCert.Create(Self);
// ...
crypt.AddEncryptCert(cert2.ControlInterface);

cert3 := TChilkatCert.Create(Self);
// ...
crypt.AddEncryptCert(cert3.ControlInterface);

// Params for public-key encryption to create PKCS7 enveloped-data
crypt.CryptAlgorithm := 'pki';
crypt.Pkcs7CryptAlg := 'aes';
crypt.KeyLength := 256;
crypt.OaepHash := 'sha256';
crypt.OaepPadding := 1;

bd := TChilkatBinData.Create(Self);
// ...
success := crypt.EncryptBd(bd.ControlInterface);

// Let's say we now want to encrypt something else with different certs..
// First clear the encryption certs.
crypt.ClearEncryptCerts();

cert4 := TChilkatCert.Create(Self);
// ...
crypt.AddEncryptCert(cert4.ControlInterface);

cert5 := TChilkatCert.Create(Self);
// ...
crypt.AddEncryptCert(cert5.ControlInterface);

// ...
// ...

// Encrypt using cert4 and cert5.
success := crypt.EncryptBd(bd.ControlInterface);
end;