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
(Classic ASP) 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.
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body> <% ' 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. ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.MailMan") set mailman = Server.CreateObject("Chilkat.MailMan") ' Set the SMTP server. mailman.SmtpHost = "smtp.mymailserver.com" ' Create a new email object ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.Email") set email = Server.CreateObject("Chilkat.Email") email.Subject = "This email is signed" email.Body = "This is a digitally signed mail" email.From = "Chilkat Admin <admin@chilkatsoft.com>" success = email.AddTo("Chilkat Support","support@chilkatsoft.com") ' Indicate that the email should be sent signed. email.SendSigned = 1 ' 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.) ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.CertStore") set certStore = Server.CreateObject("Chilkat.CertStore") ' The 1st argument is the path of the PFX file, the 2nd arg is the ' PFX file's password: success = certStore.LoadPfxFile("/pfx_files/chilkatsoft_secret.pfx","secret") If (success <> 1) Then Response.Write "<pre>" & Server.HTMLEncode( certStore.LastErrorText) & "</pre>" Response.End End If ' cert is a Chilkat.Cert Set cert = certStore.FindCertBySubjectE("admin@chilkatsoft.com") If (certStore.LastMethodSuccess = 0) Then Response.Write "<pre>" & Server.HTMLEncode( certStore.LastErrorText) & "</pre>" Response.End End If ' 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: ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.Cert") set cert2 = Server.CreateObject("Chilkat.Cert") ' The 1st argument is the filename, the 2nd arg is the ' PFX file's password: success = cert2.LoadPfxFile("/pfx_files/chilkatsoft_secret.pfx","secret") If (success <> 1) Then Response.Write "<pre>" & Server.HTMLEncode( cert2.LastErrorText) & "</pre>" Response.End End If ' This example will use the cert from the certStore... success = email.SetSigningCert(cert) ' 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.. mailman.OpaqueSigning = 0 ' Send a signed email. success = mailman.SendEmail(email) If (success <> 1) Then Response.Write "<pre>" & Server.HTMLEncode( mailman.LastErrorText) & "</pre>" Else ' The LastErrorText property provides information ' even when successful. Response.Write "<pre>" & Server.HTMLEncode( mailman.LastErrorText) & "</pre>" Response.Write "<pre>" & Server.HTMLEncode( "Mail Sent!") & "</pre>" End If %> </body> </html> |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.