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. Downloads for Windows/Linux and Install Instructions require 'rubygems' require 'chilkat' mime = Chilkat::CkMime.new() success = mime.UnlockComponent("Anything for 30-day trial") if (success == false) print mime.lastErrorText() + "\n" exit end # Note: Your S/MIME file may have a different file extension. success = mime.LoadMimeFile("smime.eml") if (success == false) print mime.lastErrorText() + "\n" exit end # 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) print mime.lastErrorText() + "\n" exit end # Save the unwrapped S/MIME: success = mime.SaveMime("unwrapped.eml") if (success == false) print mime.lastErrorText() + "\n" exit end # 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.get_NumSignerCerts() if (numSignerCerts > 0) for i in 0 .. numSignerCerts - 1 # cert is a CkCert cert = mime.GetSignerCert(i) if (!(cert == nil )) # Show the cert's common name. print cert.subjectCN() + "\n"; end end end # Now check to see if anything was decrypted. print "Encryption Certificates: " + "\n"; numEncryptCerts = mime.get_NumEncryptCerts() if (numEncryptCerts > 0) for i in 0 .. numEncryptCerts - 1 # cert is a CkCert cert = mime.GetEncryptCert(i) if (!(cert == nil )) # Show the cert's common name. print cert.subjectCN() + "\n"; end end end |
© 2000-2010 Chilkat Software, Inc. All Rights Reserved.