![]() |
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
(Unicode C) Example: Mime.GetDecryptCertInfo methodDemonstrates the Note: This example requires Chilkat v11.4.0 or greater.
#include <C_CkMimeW.h> #include <C_CkJsonObjectW.h> void ChilkatSample(void) { BOOL success; HCkMimeW mime; HCkJsonObjectW json; const wchar_t *serial; const wchar_t *issuerCN; int i; int count; success = FALSE; mime = CkMimeW_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 = CkMimeW_LoadMimeFile(mime,L"qa_data/mime/enveloped_data.eml"); if (success == FALSE) { wprintf(L"%s\n",CkMimeW_lastErrorText(mime)); CkMimeW_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 = CkJsonObjectW_Create(); success = CkMimeW_GetDecryptCertInfo(mime,json); if (success == FALSE) { wprintf(L"%s\n",CkMimeW_lastErrorText(mime)); CkMimeW_Dispose(mime); CkJsonObjectW_Dispose(json); return; } CkJsonObjectW_putEmitCompact(json,FALSE); wprintf(L"%s\n",CkJsonObjectW_emit(json)); // Sample output: // { // "recipientInfo": [ // { // "serial": "****", // "issuerCN": "****" // } // ] // } // Get each certificate's information like this: i = 0; count = CkJsonObjectW_SizeOfArray(json,L"recipientInfo"); while (i < count) { CkJsonObjectW_putI(json,i); serial = CkJsonObjectW_stringOf(json,L"recipientInfo[i].serial"); issuerCN = CkJsonObjectW_stringOf(json,L"recipientInfo[i].issuerCN"); i = i + 1; } CkMimeW_Dispose(mime); CkJsonObjectW_Dispose(json); } |
||||||
© 2000-2026 Chilkat Software, Inc. All Rights Reserved.