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
(AutoIt) Send Signed Email using PFX File (long version)Demonstrates how to send a signed email using a digital certificate w/ private key stored in a PFX file.
; This example requires the Chilkat API to have been previously unlocked. ; See Global Unlock Sample for sample code. ; The mailman object is used for sending and receiving email. $oMailman = ObjCreate("Chilkat.MailMan") ; Set the SMTP server. $oMailman.SmtpHost = "smtp.mymailserver.com" ; Create a new email object $oEmail = ObjCreate("Chilkat.Email") $oEmail.Subject = "This email is signed" $oEmail.Body = "This is a digitally signed mail" $oEmail.From = "Chilkat Admin <admin@chilkatsoft.com>" Local $bSuccess = $oEmail.AddTo("Chilkat Support","support@chilkatsoft.com") ; Indicate that the email should be sent signed. $oEmail.SendSigned = True ; Load a PFX file into a certificate store object. ; Then locate the certificate matching the sender's email address, ; and use it for signing. ; (a PFX file may contain more than one certificate.) $oCertStore = ObjCreate("Chilkat.CertStore") ; The 1st argument is the path of the PFX file, the 2nd arg is the ; PFX file's password: $bSuccess = $oCertStore.LoadPfxFile("/pfx_files/chilkatsoft_secret.pfx","secret") If ($bSuccess <> True) Then ConsoleWrite($oCertStore.LastErrorText & @CRLF) Exit EndIf Local $oCert = $oCertStore.FindCertBySubjectE("admin@chilkatsoft.com") If ($oCertStore.LastMethodSuccess = False) Then ConsoleWrite($oCertStore.LastErrorText & @CRLF) Exit EndIf ; Alternatively, if a PFX file is known to contain a single certificate, ; you may load it directly into a Chilkat certificate object. ; This snippet of source code shows how: $oCert2 = ObjCreate("Chilkat.Cert") ; The 1st argument is the filename, the 2nd arg is the ; PFX file's password: $bSuccess = $oCert2.LoadPfxFile("/pfx_files/chilkatsoft_secret.pfx","secret") If ($bSuccess <> True) Then ConsoleWrite($oCert2.LastErrorText & @CRLF) Exit EndIf ; This example will use the cert from the certStore... $bSuccess = $oEmail.SetSigningCert($oCert) ; Signed email can be sent in two different ways. ; In a multipart/signed email, the signature is attached as a separate MIME part. ; In an opaque email (signedData) the content of the email is encapsulated within the signature ; and the email is sent as "application/pkcs7-mime". ; Either should be fine, but some receiving systems might require one or the other.. $oMailman.OpaqueSigning = False ; Send a signed email. $bSuccess = $oMailman.SendEmail($oEmail) If ($bSuccess <> True) Then ConsoleWrite($oMailman.LastErrorText & @CRLF) Else ; The LastErrorText property provides information ; even when successful. ConsoleWrite($oMailman.LastErrorText & @CRLF) ConsoleWrite("Mail Sent!" & @CRLF) EndIf |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.