![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Delphi DLL) Example: Crypt2.ClearEncryptCerts methodDemonstrates how to call the ClearEncryptCerts method.
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 crypt: HCkCrypt2; cert1: HCkCert; cert2: HCkCert; cert3: HCkCert; bd: HCkBinData; success: Boolean; cert4: HCkCert; cert5: HCkCert; begin 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; |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.