Java Examples

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

Java Examples

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

More Examples...
Amazon S3
Email Object
DKIM / DomainKey
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.

 Chilkat Java Library Downloads for Windows, Linux, and MAC OS X

import com.chilkatsoft.*;

public class ChilkatExample {

  static {
    try {
        System.loadLibrary("chilkat");
    } catch (UnsatisfiedLinkError e) {
      System.err.println("Native code library failed to load.\n" + e);
      System.exit(1);
    }
  }

  public static void main(String argv[])
  {

    int i;
    CkMime mime = new CkMime();

    boolean success;
    success = mime.UnlockComponent("Anything for 30-day trial");
    if (success == false) {
        System.out.println(mime.lastErrorText());
        return;
    }

    //  Note: Your S/MIME file may have a different file extension.
    success = mime.LoadMimeFile("smime.eml");
    if (success == false) {
        System.out.println(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) {
        System.out.println(mime.lastErrorText());
        return;
    }

    //  Save the unwrapped S/MIME:
    success = mime.SaveMime("unwrapped.eml");
    if (success == false) {
        System.out.println(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.
    CkCert cert;

    //  Unwrapping the security sets the NumSignerCerts property.
    //  If it is non-zero, then signatures were unwrapped...
    System.out.println("Signer Certificates: ");
    int numSignerCerts;
    numSignerCerts = mime.get_NumSignerCerts();
    if (numSignerCerts > 0) {
        for (i = 0; i <= numSignerCerts - 1; i++) {
            cert = mime.GetSignerCert(i);
            if (!(cert == null )) {
                //  Show the cert's common name.
                System.out.println(cert.subjectCN());
            }

        }

    }

    //  Now check to see if anything was decrypted.
    System.out.println("Encryption Certificates: ");
    int numEncryptCerts;
    numEncryptCerts = mime.get_NumEncryptCerts();
    if (numEncryptCerts > 0) {
        for (i = 0; i <= numEncryptCerts - 1; i++) {
            cert = mime.GetEncryptCert(i);
            if (!(cert == null )) {
                //  Show the cert's common name.
                System.out.println(cert.subjectCN());
            }

        }

    }


  }
}

 

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