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

Workaround for the deprecated Crypt2.OpaqueSignBytesENC method

Shows how to replace the deprecated OpaqueSignBytesENC 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);

    String path = "c:/someDir/example.dat";

    //  ------------------------------------------------------------------------
    //  The OpaqueSignBytesENC method is deprecated:

    CkByteData inData = new CkByteData();
    inData.loadFile(path);

    crypt.put_EncodingMode("base64");
    String base64_sig = crypt.opaqueSignBytesENC(inData);

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

    CkBinData bd = new CkBinData();
    bd.LoadFile(path);

    //  The contents of bd are replaced with the opaque signature.
    success = crypt.OpaqueSignBd(bd);

    base64_sig = bd.getEncoded("base64");
  }
}