Python Examples

ChilkatHOMEAndroid™ASPVisual BasicVB.NETC#iOS (IPhone)Objective-CC++CMFCDelphiFoxProJavaPerl
PHP ExtensionPHP ActiveXPythonPowerShellRubySQL ServerVBScript

Python Examples

Quick Start
Unicode
Byte Array
Bz2
Certificates
CSV
Email
Encryption
FTP
HTML Conversion
HTTP
IMAP
MHT
MIME
POP3
RSA
S/MIME
Signatures
Socket / SSL
SFTP
SMTP
Spider
SSH Key
SSH
SSH Tunnel
Tar
HTTP Upload
XML
XMP
Zip

More Examples...
String
Amazon S3
Email Object
DKIM / DomainKey
NTLM
FileAccess
RSS
Atom
Self-Extractor
Service
PPMD
Deflate
DH Key Exchange
DSA
Bzip2
LZW

 

 

 

 

 

 

 

Unwrap S/MIME Security Layers

Demonstrates how to unwrap the security layers of a signed and/or encrypted S/MIME message.

 Chilkat Python Module Downloads for Windows, Linux, and MAC OS X

import sys
import chilkat



mime = chilkat.CkMime()

success = mime.UnlockComponent("Anything for 30-day trial")
if (success == False):
    print mime.lastErrorText()
    sys.exit()

#  Note: Your S/MIME file may have a different file extension.
success = mime.LoadMimeFile("smime.eml")
if (success == False):
    print mime.lastErrorText()
    sys.exit()

#  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()
    sys.exit()

#  Save the unwrapped S/MIME:
success = mime.SaveMime("unwrapped.eml")
if (success == False):
    print mime.lastErrorText()
    sys.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: "
numSignerCerts = mime.get_NumSignerCerts()
if (numSignerCerts > 0):
    for i in range(0,numSignerCerts):
        # cert is a CkCert
        cert = mime.GetSignerCert(i)
        if (not (cert == None )):
            #  Show the cert's common name.
            print cert.subjectCN()

#  Now check to see if anything was decrypted.
print "Encryption Certificates: "
numEncryptCerts = mime.get_NumEncryptCerts()
if (numEncryptCerts > 0):
    for i in range(0,numEncryptCerts):
        # cert is a CkCert
        cert = mime.GetEncryptCert(i)
        if (not (cert == None )):
            #  Show the cert's common name.
            print cert.subjectCN()


 

© 2000-2010 Chilkat Software, Inc. All Rights Reserved.