Chilkat HOME ASP Visual Basic VB.NET C# C C++ MFC Delphi FoxPro Java Perl Python Ruby SQL Server VBScript
Unwrap S/MIME Security LayersDemonstrates how to unwrap the security layers of a signed and/or encrypted S/MIME message. <?php $mime = new COM("Chilkat.Mime"); $success = $mime->UnlockComponent('Anything for 30-day trial'); if ($success == false) { print $mime->lastErrorText() . "\n"; exit; } // Note: Your S/MIME file may have a different file extension. $success = $mime->LoadMimeFile('smime.eml'); if ($success == false) { print $mime->lastErrorText() . "\n"; exit; } // Unwrap any security layers so that the resultant MIME // is the original message before signing and/or encrypting // was applied. UnwrapSecurity returns 1 if // there was nothing to unwrap, or if all signatures were verified, // and all decryptions succeeded. $success = $mime->UnwrapSecurity(); if ($success == false) { print $mime->lastErrorText() . "\n"; exit; } // Save the unwrapped S/MIME: $success = $mime->SaveMime('unwrapped.eml'); if ($success == false) { print $mime->lastErrorText() . "\n"; exit; } // Let's see if the MIME was signed, and if so whether // the signature(s) were verified. Also, examine the certificate // used for signing. // Unwrapping the security sets the NumSignerCerts property. // If it is non-zero, then signatures were unwrapped... print 'Signer Certificates: ' . "\n"; $numSignerCerts = $mime->NumSignerCerts; if ($numSignerCerts > 0) { for ($i = 0; $i <= $numSignerCerts - 1; $i++) { // cert is a Chilkat.Cert $cert = $mime->GetSignerCert($i); if (!(is_null($cert))) { // Show the cert's common name. print $cert->subjectCN() . "\n"; } } } // Now check to see if anything was decrypted. print 'Encryption Certificates: ' . "\n"; $numEncryptCerts = $mime->NumEncryptCerts; if ($numEncryptCerts > 0) { for ($i = 0; $i <= $numEncryptCerts - 1; $i++) { // cert is a Chilkat.Cert $cert = $mime->GetEncryptCert($i); if (!(is_null($cert))) { // Show the cert's common name. print $cert->subjectCN() . "\n"; } } } ?> |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2010 Chilkat Software, Inc. All Rights Reserved.