Sample code for 30+ languages & platforms
Delphi DLL

Example: Crypt2.ClearSigningCerts method

Demonstrates how to call the ClearSigningCerts method.

Chilkat Delphi DLL Downloads

Delphi DLL
uses
    Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
    Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, BinData, Cert, Crypt2;

...

procedure TForm1.Button1Click(Sender: TObject);
var
success: Boolean;
crypt: HCkCrypt2;
cert1: HCkCert;
cert2: HCkCert;
cert3: HCkCert;
bd: HCkBinData;
cert4: HCkCert;
cert5: HCkCert;

begin
success := False;

crypt := CkCrypt2_Create();
success := False;

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

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

cert2 := CkCert_Create();
// ...
CkCrypt2_AddSigningCert(crypt,cert2);

cert3 := CkCert_Create();
// ...
CkCrypt2_AddSigningCert(crypt,cert3);

bd := CkBinData_Create();
// ...

success := CkCrypt2_OpaqueSignBd(crypt,bd);

// Let's say we now want to sign something else with different certs..
// First clear the signing certs.
CkCrypt2_ClearSigningCerts(crypt);

cert4 := CkCert_Create();
// ...
CkCrypt2_AddSigningCert(crypt,cert4);

cert5 := CkCert_Create();
// ...
CkCrypt2_AddSigningCert(crypt,cert5);

// ...
// ...

// Sign using cert4 and cert5.
success := CkCrypt2_OpaqueSignBd(crypt,bd);

CkCrypt2_Dispose(crypt);
CkCert_Dispose(cert1);
CkCert_Dispose(cert2);
CkCert_Dispose(cert3);
CkBinData_Dispose(bd);
CkCert_Dispose(cert4);
CkCert_Dispose(cert5);

end;