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

 

 

 

 

 

 

 

POP3 Verify Signed (S/MIME) Email

Demonstrates how to download and verify digitally signed S/MIME email.

 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[])
  {
    CkMailMan mailman = new CkMailMan();

    //  Any string argument automatically begins the 30-day trial.
    boolean success;
    success = mailman.UnlockComponent("30-day trial");
    if (success != true) {
        System.out.println(mailman.lastErrorText());
        return;
    }

    //  Set the POP3 server's hostname
    mailman.put_MailHost("mail.chilkatsoft.com");

    //  Set the POP3 login/password.
    mailman.put_PopUsername("myLogin");
    mailman.put_PopPassword("myPassword");

    CkStringArray sa;

    sa = mailman.GetUidls();
    if (sa == null ) {
        System.out.println(mailman.lastErrorText());
        return;
    }

    int i;
    int n;
    n = sa.get_Count();

    CkEmail email;
    String uidl;

    for (i = 0; i <= n - 1; i++) {

        uidl = sa.getString(i);

        email = mailman.FetchEmail(uidl);
        if (email == null ) {
            System.out.println(mailman.lastErrorText());
            break;
        }

        System.out.println(email.ck_from());
        System.out.println(email.subject());

        //  The security layers of signed and/or encrypted emails
        //  are automatically "unwrapped" when loaded into
        //  a Chilkat email object.
        //  An application only needs to check to see if an email
        //  was received signed or encrypted, and then examine
        //  the success/failure.  For example:
        if (email.get_ReceivedSigned() == true) {

            System.out.println("This email was signed.");

            //  Check to see if the signatures were verified.
            if (email.get_SignaturesValid() == true) {
                System.out.println("Digital signature(s) verified.");

                System.out.println("Signer: "
                     + email.signedBy());

                //  The certificate used for signing may be obtained
                //  by calling email.GetSignedByCert.
                CkCert cert;
                cert = email.GetSignedByCert();
                if (cert == null ) {
                    System.out.println("Failed to get signing certificate object.");
                }
                else {
                    System.out.println("Signing cert: "
                         + cert.subjectCN());

                }

            }
            else {
                System.out.println("Digital signature verification failed.");
            }

        }

    }

    mailman.Pop3EndSession();
  }
}

 

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