![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java JavaScript 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
(C) Example: Mime.GetDecryptCertInfo methodDemonstrates the Note: This example requires Chilkat v11.4.0 or greater.
#include <C_CkMime.h> #include <C_CkJsonObject.h> void ChilkatSample(void) { BOOL success; HCkMime mime; HCkJsonObject json; const char *serial; const char *issuerCN; int i; int count; success = FALSE; mime = CkMime_Create(); // Load MIME that is has Content-Type like this: // Content-Type: application/pkcs7-mime; smime-type="enveloped-data"; name="smime.p7m"; smime-type="enveloped-data" success = CkMime_LoadMimeFile(mime,"qa_data/mime/enveloped_data.eml"); if (success == FALSE) { printf("%s\n",CkMime_lastErrorText(mime)); CkMime_Dispose(mime); return; } // Get information about the certificate that would be needed to decrypt. // An enveloped-data can potentially be decrypted by multiple certificates if it was encrypted in a way that allows it, // but in most cases, only a single certificate with associated private key (that of the message recipient) is possible. json = CkJsonObject_Create(); success = CkMime_GetDecryptCertInfo(mime,json); if (success == FALSE) { printf("%s\n",CkMime_lastErrorText(mime)); CkMime_Dispose(mime); CkJsonObject_Dispose(json); return; } CkJsonObject_putEmitCompact(json,FALSE); printf("%s\n",CkJsonObject_emit(json)); // Sample output: // { // "recipientInfo": [ // { // "serial": "****", // "issuerCN": "****" // } // ] // } // Get each certificate's information like this: i = 0; count = CkJsonObject_SizeOfArray(json,"recipientInfo"); while (i < count) { CkJsonObject_putI(json,i); serial = CkJsonObject_stringOf(json,"recipientInfo[i].serial"); issuerCN = CkJsonObject_stringOf(json,"recipientInfo[i].issuerCN"); i = i + 1; } CkMime_Dispose(mime); CkJsonObject_Dispose(json); } |
||||||
© 2000-2026 Chilkat Software, Inc. All Rights Reserved.