Sample code for 30+ languages & platforms
Java Requires Chilkat v11.0.0+

Workaround for the deprecated Crypt2.OpaqueSignString method

Shows how to replace the deprecated OpaqueSignString method. (Chilkat is moving away from the use of CkByteData.)

Chilkat Java Downloads

Java
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 = false;

    CkCrypt2 crypt = new CkCrypt2();

    CkCert cert = new CkCert();
    //  ...
    //  Load the cert from a source such as a .pfx/.p12 file, smart card, USB token, Apple keychain, Windows certificate store, etc.
    //  
    success = crypt.SetSigningCert(cert);

    //  Sign the utf-8 byte representation of the text.
    crypt.put_Charset("utf-8");

    String textToSign = "This is the text to sign";

    //  ------------------------------------------------------------------------
    //  The OpaqueSignString method is deprecated:

    CkByteData outData = new CkByteData();

    success = crypt.OpaqueSignString(textToSign,outData);

    //  ------------------------------------------------------------------------
    //  Workaround.
    //  (Chilkat is moving away from using CkByteData)

    crypt.put_EncodingMode("base64");
    String base64_sig = crypt.opaqueSignStringENC(textToSign);

    CkBinData bd = new CkBinData();
    bd.AppendEncoded(base64_sig,"base64");

    //  Access the raw bytes from bd.
  }
}