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
DKIM / DomainKey
NTLM
FileAccess
RSS
Atom
String
Byte Array
Self-Extractor
Service
PPMD
Deflate
DH Key Exchange
DSA
Bzip2
LZW

 

 

 

 

 

 

 

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

Download Chilkat Java x64 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-2010 Chilkat Software, Inc. All Rights Reserved.