![]() |
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
(PureBasic) Example: Mime.GetDecryptCertInfo methodDemonstrates the Note: This example requires Chilkat v11.4.0 or greater.
IncludeFile "CkJsonObject.pb" IncludeFile "CkMime.pb" Procedure ChilkatExample() success.i = 0 mime.i = CkMime::ckCreate() If mime.i = 0 Debug "Failed to create object." ProcedureReturn EndIf ; 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::ckLoadMimeFile(mime,"qa_data/mime/enveloped_data.eml") If success = 0 Debug CkMime::ckLastErrorText(mime) CkMime::ckDispose(mime) ProcedureReturn EndIf ; 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.i = CkJsonObject::ckCreate() If json.i = 0 Debug "Failed to create object." ProcedureReturn EndIf success = CkMime::ckGetDecryptCertInfo(mime,json) If success = 0 Debug CkMime::ckLastErrorText(mime) CkMime::ckDispose(mime) CkJsonObject::ckDispose(json) ProcedureReturn EndIf CkJsonObject::setCkEmitCompact(json, 0) Debug CkJsonObject::ckEmit(json) ; Sample output: ; { ; "recipientInfo": [ ; { ; "serial": "****", ; "issuerCN": "****" ; } ; ] ; } ; Get each certificate's information like this: serial.s issuerCN.s i.i = 0 count.i = CkJsonObject::ckSizeOfArray(json,"recipientInfo") While i < count CkJsonObject::setCkI(json, i) serial = CkJsonObject::ckStringOf(json,"recipientInfo[i].serial") issuerCN = CkJsonObject::ckStringOf(json,"recipientInfo[i].issuerCN") i = i + 1 Wend CkMime::ckDispose(mime) CkJsonObject::ckDispose(json) ProcedureReturn EndProcedure |
||||
© 2000-2026 Chilkat Software, Inc. All Rights Reserved.