Chilkat HOME ASP Visual Basic VB.NET C# Visual C++ C MFC Delphi FoxPro Java Perl PHP Python Ruby SQL Server VBScript
|
Decrypt MIME with PFXDemonstrates how to decrypt MIME using a PFX (containing a digital certificate with private key). The content-type of an encrypted MIME message looks like this: Content-Type: application/x-pkcs7-mime; name="smime.p7m" uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, CHILKATMIMELib_TLB, CHILKATCERTIFICATELib_TLB, OleCtrls; ... procedure TForm1.Button1Click(Sender: TObject); var mime: CHILKATMIMELib_TLB.IChilkatMime; success: Integer; certStore: CHILKATCERTIFICATELib_TLB.IChilkatCertStore; cert: CHILKATMIMELib_TLB.IChilkatCert; privKey: CHILKATCERTIFICATELib_TLB.IPrivateKey; begin mime := CoChilkatMime.Create(); success := mime.UnlockComponent('Anything for 30-day trial'); if (success = 0) then begin ShowMessage('Failed to unlock component'); Exit; end; success := mime.LoadMimeFile('encryptedEmail.eml'); if (success <> 1) then begin Memo1.Lines.Add(mime.LastErrorText); Exit; end; certStore := CoChilkatCertStore.Create(); success := certStore.LoadPfxFile('myPfx.pfx','myPfxPassword'); if (success <> 1) then begin Memo1.Lines.Add(certStore.LastErrorText); Exit; end; // Find the certificate by email address. There are many // ways to find certificates within a Chilkat certificate store // object... cert := certStore.FindCertBySubjectE('support@chilkatsoft.com') As CHILKATMIMELib_TLB.IChilkatCert; if (cert = nil ) then begin Memo1.Lines.Add(certStore.LastErrorText); Exit; end; privKey := cert.ExportPrivateKey() As CHILKATCERTIFICATELib_TLB.IPrivateKey; if (privKey = nil ) then begin Memo1.Lines.Add(cert.LastErrorText); Exit; end; success := mime.Decrypt2(cert As CHILKATMIMELib_TLB.IChilkatCert,privKey); if (success <> 1) then begin Memo1.Lines.Add(mime.LastErrorText); Exit; end; // Show the decrypted MIME: Memo1.Lines.Add(mime.GetMime()); end; |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2008 Chilkat Software, Inc. All Rights Reserved.