Chilkat HOME Android™ ASP Visual Basic VB.NET C# iOS (IPhone) Objective-C C++ C Unicode C++ Unicode C MFC Delphi DLL Delphi ActiveX FoxPro Java Perl PHP Extension PHP ActiveX Python PowerShell Ruby SQL Server VBScript
Decrypt P7M using PFX to get MIMEDemonstrates how to decrypt a .p7m (PKCS7) binary file using a certificate and private key from a PFX file. The result of the decryption (in this case) is MIME text that may be loaded into a Chilkat MIME object. Note: Any type of file or data may be encrypted to produce a .p7m (PKCS7) encrypted file. This example was prompted by a customer needing to decrypt a MIME message. The final step of loading the decrypted text into a MIME object would be skipped if decrypting something other than MIME.. Download: Chilkat .NET Assemblies Chilkat.Crypt2 crypt = new Chilkat.Crypt2(); // Any string argument automatically begins the 30-day trial. bool success; success = crypt.UnlockComponent("30-day trial"); if (success != true) { MessageBox.Show(crypt.LastErrorText); return; } // Read the P7M file into memory. byte[] p7mData = null; p7mData = crypt.ReadFile("encrypted.p7m"); // Setup the crypt object: // Indicate that public-key decryption is to be used. crypt.CryptAlgorithm = "pki"; // Add a PFX file to allow the crypt object to find // the certificate and private key needed for decryption string pfxFilePath; pfxFilePath = "myPfx.pfx"; string pfxPassword; pfxPassword = "secret"; success = crypt.AddPfxSourceFile(pfxFilePath,pfxPassword); if (success != true) { MessageBox.Show(crypt.LastErrorText); return; } // Assuming the decrypted data will be text, decrypt to // a string. string mimeText; mimeText = crypt.DecryptString(p7mData); if (mimeText == null ) { MessageBox.Show(crypt.LastErrorText); return; } // Note: Chilkat Crypt and Chilkat MIME are separate products. // To use both objects, one would license the "Chilkat Bundle", // which provides licenses to all existing Chilkat products. // This is less expensive than licensing each of the two products separately. Chilkat.Mime mime = new Chilkat.Mime(); success = mime.UnlockComponent("Anyting for 30-day trial"); if (success != true) { MessageBox.Show(mime.LastErrorText); return; } // Load the MIME text into the MIME object. success = mime.LoadMime(mimeText); if (success != true) { MessageBox.Show(mime.LastErrorText); return; } // Save the MIME to a file: success = mime.SaveMime("outMime.txt"); if (success != true) { MessageBox.Show(mime.LastErrorText); return; } // Success! Output the MIME text: textBox1.Text += mime.GetMime() + "\r\n"; |
© 2000-2013 Chilkat Software, Inc. All Rights Reserved.