Chilkat HOME Android™ Classic ASP C C++ C# Mono C# .NET Core C# C# UWP/WinRT DataFlex Delphi ActiveX Delphi DLL Visual FoxPro Java Lianja MFC Objective-C Perl PHP ActiveX PHP Extension PowerBuilder PowerShell PureBasic CkPython Chilkat2-Python Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ Visual Basic 6.0 VB.NET VB.NET UWP/WinRT VBScript Xojo Plugin Node.js Excel Go
(MFC) Decrypt2Demonstrates how to decrypt MIME using a certificate and private key where the certificate and its corresponding private key are stored in separate files -- a .cer for the certificate, and a .pem for the private key.
#include <CkMime.h> #include <CkCert.h> #include <CkPrivateKey.h> void ChilkatSample(void) { CkString strOut; // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. CkMime mime; // Load the certificate from a .cer file. CkCert cert; bool success = cert.LoadFromFile("aaworkarea/myCert.cer"); if (success == false) { strOut.append(cert.lastErrorText()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } // Load the private key from an encrypted PEM file. // (A private key can be loaded from other file formats also..) CkPrivateKey privKey; success = privKey.LoadEncryptedPemFile("aaworkarea/myPrivateKey.pem","myPassword"); if (success == false) { strOut.append(privKey.lastErrorText()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } success = mime.LoadMimeFile("aaworkarea/encryptedMime.txt"); if (success == false) { strOut.append(mime.lastErrorText()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } // Decrypt using the cert and associated private key success = mime.Decrypt2(cert,privKey); if (success == false) { strOut.append(mime.lastErrorText()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } // Save the S/MIME to a file. success = mime.SaveMime("aaworkarea/decryptedMime.txt"); if (success == false) { strOut.append(mime.lastErrorText()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } strOut.append("success!"); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); } |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.