Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(PureBasic) Load Signed and/or Encrypted Email and Unwrap Security LayersThe LoadEml method loads an email (.eml file containing the MIME of an email) and automatically unwraps the digital signature and encryption security layers. A program can then examine the properties of the email object to see what was unwrapped.
IncludeFile "CkEmail.pb" Procedure ChilkatExample() email.i = CkEmail::ckCreate() If email.i = 0 Debug "Failed to create object." ProcedureReturn EndIf ; Provide PFX/.p12 files for any certs+keys needed for decryption. ; Signature verification does not need anything extra. ; (Also, Chilkat will automatically find and use pre-installed certs + private keys needed for decryption ; on a Windows system.) success.i = CkEmail::ckAddPfxSourceFile(email,"/pfxFiles/certs_and_keys_1.pfx","pfxPassword1") If success <> 1 Debug CkEmail::ckLastErrorText(email) CkEmail::ckDispose(email) ProcedureReturn EndIf success = CkEmail::ckAddPfxSourceFile(email,"/pfxFiles/certs_and_keys_2.pfx","pfxPassword2") If success <> 1 Debug CkEmail::ckLastErrorText(email) CkEmail::ckDispose(email) ProcedureReturn EndIf ; ... ; Load a potentially signed and/or encrypted email. success = CkEmail::ckLoadEml(email,"someDir/someEmail.eml") ; If the email was signed and/or encrypted, it was "unwrapped", i.e. ; the email is already decrypted and in a state as if it were never signed or encrypted. ; You may check to see if the email was received encrypted or signed, and if so, ; whether it was successfully unwrapped and who signed or encrypted it: If CkEmail::ckReceivedEncrypted(email) = 1 Debug "This email was encrypted." If CkEmail::ckDecrypted(email) = 1 Debug "This email was successfully decrypted. It was encrypted by:" Debug CkEmail::ckEncryptedBy(email) Else Debug "This email was not decrypted." EndIf EndIf If CkEmail::ckReceivedSigned(email) = 1 Debug "This email was signed." If CkEmail::ckSignaturesValid(email) = 1 Debug "The signature was verified. It was signed by:" Debug CkEmail::ckSignedBy(email) Else Debug "The signature verification failed." EndIf EndIf ; At this point, the contents of the email, including attachments, can be accessed normally.. CkEmail::ckDispose(email) ProcedureReturn EndProcedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.