Unicode C
Unicode C
Decrypt a .p7m File (using a PFX)
See more Encryption Examples
_LANGUAGE_ sample code showing how to decrypt a .p7m using a .p12 / .pfx certificate w/ private key.Chilkat Unicode C Downloads
#include <C_CkCrypt2W.h>
void ChilkatSample(void)
{
BOOL success;
HCkCrypt2W crypt;
const wchar_t *pfxPath;
const wchar_t *pfxPassword;
const wchar_t *inPath;
const wchar_t *outPath;
success = FALSE;
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
crypt = CkCrypt2W_Create();
// Use a digital certificate and private key from a PFX file (.pfx or .p12).
pfxPath = L"myCertAndKey.pfx";
pfxPassword = L"test123";
success = CkCrypt2W_AddPfxSourceFile(crypt,pfxPath,pfxPassword);
if (success != TRUE) {
wprintf(L"%s\n",CkCrypt2W_lastErrorText(crypt));
CkCrypt2W_Dispose(crypt);
return;
}
// Set the outPath to whatever is appropriate.
// If you are decrypting a PDF, your output might be "out.pdf"...
inPath = L"smime.p7m";
outPath = L"original.txt";
// Indicate that we're doing public key decryption (i.e. PKCS7)
CkCrypt2W_putCryptAlgorithm(crypt,L"pki");
success = CkCrypt2W_CkDecryptFile(crypt,inPath,outPath);
if (success == FALSE) {
wprintf(L"%s\n",CkCrypt2W_lastErrorText(crypt));
CkCrypt2W_Dispose(crypt);
return;
}
wprintf(L"Success.\n");
CkCrypt2W_Dispose(crypt);
}