AutoIt
AutoIt
Decrypt S/MIME using a Certificate with Private Key Access
See more MIME Examples
Loads a CMS/PKCS #7 encrypted S/MIME message and decrypts it back to the original MIME content.
DecryptUsingCert takes a single certificate that already has access to its associated private key, for example a certificate loaded from a PFX.
The file paths are relative to the application's current working directory. Absolute paths may also be used. Supply the paths appropriate to your own environment.
Background. A public-only certificate is insufficient for decryption. The certificate passed to DecryptUsingCert must be linked to its private key, as happens when it is loaded from a PFX/P12 file.
Chilkat AutoIt Downloads
Local $bSuccess = False
$oMime = ObjCreate("Chilkat.Mime")
$bSuccess = $oMime.LoadMimeFile("qa_data/encrypted.eml")
If ($bSuccess = False) Then
ConsoleWrite($oMime.LastErrorText & @CRLF)
Exit
EndIf
; Decrypt using a certificate that already provides access to its private key (for example loaded
; from a PFX). The only argument is the certificate.
Local $sPfxPassword = "myPfxPassword"
$oCert = ObjCreate("Chilkat.Cert")
$bSuccess = $oCert.LoadPfxFile("qa_data/recipient.pfx",$sPfxPassword)
If ($bSuccess = False) Then
ConsoleWrite($oCert.LastErrorText & @CRLF)
Exit
EndIf
$bSuccess = $oMime.DecryptUsingCert($oCert)
If ($bSuccess = False) Then
ConsoleWrite($oMime.LastErrorText & @CRLF)
Exit
EndIf
Local $sBody = $oMime.GetBodyDecoded()
If ($oMime.LastMethodSuccess = False) Then
ConsoleWrite($oMime.LastErrorText & @CRLF)
Exit
EndIf
ConsoleWrite($sBody & @CRLF)