Chilkat HOME ASP Visual Basic VB.NET C# C C++ MFC Delphi FoxPro Java Perl Python 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..
<?php $crypt = new COM("Chilkat.Crypt2"); // Any string argument automatically begins the 30-day trial. $success = $crypt->UnlockComponent('30-day trial'); if ($success != true) { print $crypt->lastErrorText() . "\n"; exit; } // Read the P7M file into memory. $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 $pfxFilePath = 'myPfx.pfx'; $pfxPassword = 'secret'; $success = $crypt->AddPfxSourceFile($pfxFilePath,$pfxPassword); if ($success != true) { print $crypt->lastErrorText() . "\n"; exit; } // Assuming the decrypted data will be text, decrypt to // a string. $mimeText = $crypt->decryptString($p7mData); if (is_null($mimeText)) { print $crypt->lastErrorText() . "\n"; exit; } // 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. $mime = new COM("Chilkat.Mime"); $success = $mime->UnlockComponent('Anyting for 30-day trial'); if ($success != true) { print $mime->lastErrorText() . "\n"; exit; } // Load the MIME text into the MIME object. $success = $mime->LoadMime($mimeText); if ($success != true) { print $mime->lastErrorText() . "\n"; exit; } // Save the MIME to a file: $success = $mime->SaveMime('outMime.txt'); if ($success != true) { print $mime->lastErrorText() . "\n"; exit; } // Success! Output the MIME text: print $mime->getMime() . "\n"; ?> |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2010 Chilkat Software, Inc. All Rights Reserved.