Java Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

Java Examples

Quick Start
Java Unicode
Java Certs
Java Email
Java Encryption
Java FTP
HTML-to-XML
Java HTTP
Java IMAP
Java MHT
Java MIME
Java RSA
Java S/MIME
Java Signatures
Java Socket
Java Spider
Java Tar
Java Upload
Java XML
Java XMP
Java Zip

More Examples...
Email Object
POP3
SMTP
RSS
Atom
String
Byte Array
Self-Extractor
Service
PPMD
Deflate
DH Key Exchange
DSA
SSH Key
SSH
SSH Tunnel
SFTP

Unreleased...
Bzip2
LZW
Bz2
Icon

 

 

 

 

 

 

 

Create .p7s Signature with HSM / Smartcard

Java example showing how to use a CSP (Cryptographic Service Provider) for a smart card / HSM (Hardware Security Module) to create a .p7s (PKCS7) output file. This example uses the NCipher HSM CSP.

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

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

    //  Find our digital certificate from the Current User certificate store.
    //  Note: There are several other ways to load your certificate
    //  into a Chilkat cert object.  You may load directly from a .cer file,
    //  PEM file, pfx, etc.
    CkCreateCS ccs = new CkCreateCS();
    CkCertStore certStore;
    certStore = ccs.OpenCurrentUserStore();
    CkCert cert;
    cert = certStore.FindCertBySubjectCN("Chilkat Software, Inc.");
    if (cert == null ) {
        System.out.println(cert.lastErrorText());

        return;
    }

    //  Tell the crypt component to use this cert.
    crypt.SetSigningCert(cert);

    //  To use an HSM or smartcard, create a CSP object,
    //  set the service provider, and then tell the Chilkat Crypt
    //  component to use the CSP:
    //  This example uses the NCipher HSM.  The
    //  provider names must be specied exactly.
    //  The NCipher provider names are:
    //  PROV_RSA_FULL ("nCipher Enhanced Cryptographic Provider")
    //  PROV_RSA_AES ("nCipher Enhanced RSA and AES Cryptographic Provider")
    //  PROV_RSA_SCHANNEL("nCipher Enhanced SChannel Cryptographic Provider")
    //  PROV_DSS_DH ("nCipher Enhanced DSS and Diffie-Hellman Cryptographic Provider")
    //  PROV_DH_SCHANNEL ("nCipher Enhanced DSS and Diffie-Hellman SChannel Cryptographic Provider")

    //  We'll be using the RSA FULL provider:
    CkCSP csp = new CkCSP();
    csp.put_ProviderName("nCipher Enhanced Cryptographic Provider");

    //  Tell the crypt object to use the CSP:
    crypt.SetCSP(csp);

    //  We can sign any type of file, creating a .p7s detached signature as output:
    success = crypt.CreateP7S("test.xml","test.p7s");
    if (success == false) {
        System.out.println(crypt.lastErrorText());

        return;
    }

    System.out.println(crypt.lastErrorText());
    //  Verify the signature...
    crypt.SetVerifyCert(cert);

    success = crypt.VerifyP7S("test.xml","test.p7s");
    if (success == false) {
        System.out.println(crypt.lastErrorText());

        return;
    }

    System.out.println("Success!");
  }
}

 

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

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