Delphi DLL
Delphi DLL
Example: Crypt2.ClearEncryptCerts method
Demonstrates how to call the ClearEncryptCerts method.Chilkat Delphi DLL Downloads
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();
// Tell the crypt object to use 3 certificates.
// Do this by calling AddEncryptCert 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_AddEncryptCert(crypt,cert1);
cert2 := CkCert_Create();
// ...
CkCrypt2_AddEncryptCert(crypt,cert2);
cert3 := CkCert_Create();
// ...
CkCrypt2_AddEncryptCert(crypt,cert3);
// Params for public-key encryption to create PKCS7 enveloped-data
CkCrypt2_putCryptAlgorithm(crypt,'pki');
CkCrypt2_putPkcs7CryptAlg(crypt,'aes');
CkCrypt2_putKeyLength(crypt,256);
CkCrypt2_putOaepHash(crypt,'sha256');
CkCrypt2_putOaepPadding(crypt,True);
bd := CkBinData_Create();
// ...
success := CkCrypt2_EncryptBd(crypt,bd);
// Let's say we now want to encrypt something else with different certs..
// First clear the encryption certs.
CkCrypt2_ClearEncryptCerts(crypt);
cert4 := CkCert_Create();
// ...
CkCrypt2_AddEncryptCert(crypt,cert4);
cert5 := CkCert_Create();
// ...
CkCrypt2_AddEncryptCert(crypt,cert5);
// ...
// ...
// Encrypt using cert4 and cert5.
success := CkCrypt2_EncryptBd(crypt,bd);
CkCrypt2_Dispose(crypt);
CkCert_Dispose(cert1);
CkCert_Dispose(cert2);
CkCert_Dispose(cert3);
CkBinData_Dispose(bd);
CkCert_Dispose(cert4);
CkCert_Dispose(cert5);
end;