C
C
Example: Crypt2.ClearEncryptCerts method
Demonstrates how to call the ClearEncryptCerts method.Chilkat C Downloads
#include <C_CkCrypt2.h>
#include <C_CkCert.h>
#include <C_CkBinData.h>
void ChilkatSample(void)
{
BOOL success;
HCkCrypt2 crypt;
HCkCert cert1;
HCkCert cert2;
HCkCert cert3;
HCkBinData bd;
HCkCert cert4;
HCkCert cert5;
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);
}