C# Examples

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

C# Examples

Bounced Mail
Bz2
Character Encoding
CSV
DKIM / DomainKey
Digital Certificates
Digital Signatures
Email
Email Object
FTP
HTML Conversion
HTTP
IMAP
Encryption
MHT / HTML Email
MIME
POP3
RSA
S/MIME
SMTP
Socket
Spider
SSH
SSH Tunnel
SSH Key
SFTP
Tar Archive
Upload
XML
XMP
Zip Compression


More Examples...
Amazon S3
NTLM
FileAccess
RSS
Atom
String
Byte Array
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.

Download Chilkat .NET for 4.0 Framework

Download Chilkat .NET for 64-bit 4.0 Framework (x64)

Download Chilkat .NET for 2.0 / 3.5 Framework

Download Chilkat .NET for 64-bit 2.0 / 3.5 Framework (x64)

Download Chilkat .NET for 1.0 / 1.1 Framework

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.

Email Component · XML Parser