Chilkat
HOME
Android™
ASP
Visual Basic
VB.NET
C#
iOS (IPhone)
Objective-C
C++
C
MFC
Delphi
FoxPro
Java
Perl
PHP Extension
PHP ActiveX
Python
PowerShell
Ruby
SQL Server
VBScript
Unwrap S/MIME Security LayersDemonstrates how to unwrap the security layers of a signed and/or encrypted S/MIME message.
int i; Chilkat.Mime mime = new Chilkat.Mime(); bool success; success = mime.UnlockComponent("Anything for 30-day trial"); if (success == false) { MessageBox.Show(mime.LastErrorText); return; } // Note: Your S/MIME file may have a different file extension. success = mime.LoadMimeFile("smime.eml"); if (success == false) { MessageBox.Show(mime.LastErrorText); return; } // Unwrap any security layers so that the resultant MIME // is the original message before signing and/or encrypting // was applied. UnwrapSecurity returns true if // there was nothing to unwrap, or if all signatures were verified, // and all decryptions succeeded. success = mime.UnwrapSecurity(); if (success == false) { MessageBox.Show(mime.LastErrorText); return; } // Save the unwrapped S/MIME: success = mime.SaveMime("unwrapped.eml"); if (success == false) { MessageBox.Show(mime.LastErrorText); return; } // Let's see if the MIME was signed, and if so whether // the signature(s) were verified. Also, examine the certificate // used for signing. Chilkat.Cert cert = null; // Unwrapping the security sets the NumSignerCerts property. // If it is non-zero, then signatures were unwrapped... textBox1.Text += "Signer Certificates: " + "\r\n"; int numSignerCerts; numSignerCerts = mime.NumSignerCerts; if (numSignerCerts > 0) { for (i = 0; i <= numSignerCerts - 1; i++) { cert = mime.GetSignerCert(i); if (!(cert == null )) { // Show the cert's common name. textBox1.Text += cert.SubjectCN + "\r\n"; } } } // Now check to see if anything was decrypted. textBox1.Text += "Encryption Certificates: " + "\r\n"; int numEncryptCerts; numEncryptCerts = mime.NumEncryptCerts; if (numEncryptCerts > 0) { for (i = 0; i <= numEncryptCerts - 1; i++) { cert = mime.GetEncryptCert(i); if (!(cert == null )) { // Show the cert's common name. textBox1.Text += cert.SubjectCN + "\r\n"; } } } |
© 2000-2012 Chilkat Software, Inc. All Rights Reserved.