Java Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

Java Examples

Quick Start
Unicode
Bz2
Certificates
CSV
Email
Encryption
FTP
HTML-to-XML
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...
Email Object
FileAccess
RSS
Atom
String
Byte Array
Self-Extractor
Service
PPMD
Deflate
DH Key Exchange
DSA

Unreleased...
Bzip2
LZW
Icon

 

 

 

 

 

 

 

HTTPS Upload with Client SSL Certificate

This example shows how to use a client-side certificate with HTTPS to upload one or more files to a web server.

Download Chilkat Java Library

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[])
  {
    boolean success;

    //  Chilkat supports SSL with all of its Internet components:
    //  SMTP, POP3, IMAP, FTP, and HTTP.

    //  Each component includes a method named SetSslClientCert
    //  which has one argument -- a Chilkat certificate object.
    //  You'll need to use a certificate where you have
    //  a private key.  There are many ways to instantiate
    //  and load a certificate into a Chilkat certificate object.
    //  It may be loaded directly from a .pfx (or .p12) file.
    //  It may be loaded from a certificate that has already
    //  been installed into the local machine's (registry-based)
    //  certificate store, or the current-user certificate store.
    //  It may be loaded from a pair of PEM or DER encoded files
    //  (one file for the ceritifcate, and one for the corresponding
    //  private key).  Browse through the examples at
    //  example-code.com for various examples (in the Digital
    //  Certificates section).

    //  This example will load a cert from a .pfx (i.e. p12) file.

    //  Create an instance of a certificate store object, load a PFX file,
    //  locate the certificate we need, and use it for signing.
    //  (a PFX file may contain more than one certificate.)
    CkCertStore certStore = new CkCertStore();
    //  The 1st argument is the filename, the 2nd arg is the
    //  PFX file's password:
    success = certStore.LoadPfxFile("chilkat.pfx","secret");
    if (success != true) {
        System.out.println(certStore.lastErrorText());
        return;
    }

    CkCert cert;
    cert = certStore.FindCertBySubjectCN("Chilkat Software, Inc.");
    if (cert == null ) {
        System.out.println(certStore.lastErrorText());
        return;
    }

    //  If a PFX file is known to contain a single certificate,
    //  you may load it directly into a Chilkat certificate object.
    //  This snippet of source code shows how:
    CkCert cert2 = new CkCert();
    //  The 1st argument is the filename, the 2nd arg is the
    //  PFX file's password:
    success = cert2.LoadPfxFile("chilkat.pfx","secret");
    if (success != true) {
        System.out.println(cert2.lastErrorText());
        return;
    }

    CkHttp http = new CkHttp();

    //  Any string unlocks the component for the 1st 30-days.
    success = http.UnlockComponent("Anything for 30-day trial");
    if (success != true) {
        System.out.println(http.lastErrorText());
        return;
    }

    //  Set your HTTPS client certificate:
    http.SetSslClientCert(cert);

    //  Build a HTTPS upload request with the files to be uploaded:
    CkHttpRequest req = new CkHttpRequest();
    req.UseUpload();

    //  The URL we'll be posting to is:
    //  http://www.yourwebserver123abc.com/ConsumeUpload.aspx
    //  Therefore, the path part of the URL is:
    req.put_Path("/ConsumeUpload.aspx");

    //  Note: You'll need to edit this example to upload to your
    //  own web server.

    //  Add some files to the request:
    //  The 1st argument is an arbitrary name.  It's the POST form field name.
    //  The 2nd argument is the filename currently existing on
    //  the local filesystem.  It may include an absolute or relative
    //  path, or no path at all if it's in the current working directory.
    success = req.AddFileForUpload("file1","hamlet.xml");
    if (success != true) {
        System.out.println(req.lastErrorText());
        return;
    }

    success = req.AddFileForUpload("file2","dude.gif");
    if (success != true) {
        System.out.println(req.lastErrorText());
        return;
    }

    //  Send the HTTPS POST and get the response.  Note: This is a blocking call.
    //  The method does not return until the full HTTPS response is received.
    String domain;
    int port;
    boolean ssl;
    domain = "www.yourwebserver123abc.com";
    //  The only difference in coding between non-SSL and SSL is
    //  the setting of these two arguments to SynchronousRequest:
    port = (int) 443;
    ssl = true;
    CkHttpResponse resp;
    resp = http.SynchronousRequest(domain,port,ssl,req);
    if (resp == null ) {
        System.out.println(http.lastErrorText());
    }
    else {
        //  Display the HTML source of the page returned.
        System.out.println(resp.bodyStr());
    }

  }
}

 

Need a specific example? Send a request to support@chilkatsoft.com

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