![]() |
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
(Objective-C) Example: Mime.GetDecryptCertInfo methodDemonstrates the Note: This example requires Chilkat v11.4.0 or greater.
#import <CkoMime.h> #import <CkoJsonObject.h> #import <NSString.h> BOOL success = NO; CkoMime *mime = [[CkoMime alloc] init]; // 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 = [mime LoadMimeFile: @"qa_data/mime/enveloped_data.eml"]; if (success == NO) { NSLog(@"%@",mime.LastErrorText); 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. CkoJsonObject *json = [[CkoJsonObject alloc] init]; success = [mime GetDecryptCertInfo: json]; if (success == NO) { NSLog(@"%@",mime.LastErrorText); return; } json.EmitCompact = NO; NSLog(@"%@",[json Emit]); // Sample output: // { // "recipientInfo": [ // { // "serial": "****", // "issuerCN": "****" // } // ] // } // Get each certificate's information like this: NSString *serial = 0; NSString *issuerCN = 0; int i = 0; int count = [[json SizeOfArray: @"recipientInfo"] intValue]; while (i < count) { json.I = [NSNumber numberWithInt: i]; serial = [json StringOf: @"recipientInfo[i].serial"]; issuerCN = [json StringOf: @"recipientInfo[i].issuerCN"]; i = i + 1; } |
||||
© 2000-2026 Chilkat Software, Inc. All Rights Reserved.