Sample code for 30+ languages & platforms
Android™

Workaround for the deprecated Crypt2.VerifyString method

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

Chilkat Android™ Downloads

Android™
// Important: Don't forget to include the call to System.loadLibrary
// as shown at the bottom of this code sample.
package com.test;

import android.app.Activity;
import com.chilkatsoft.*;

import android.widget.TextView;
import android.os.Bundle;

public class SimpleActivity extends Activity {

  private static final String TAG = "Chilkat";

  // Called when the activity is first created.
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    CkCrypt2 crypt = new CkCrypt2();

    //  Specifies how the original data bytes are converted to characters
    crypt.put_Charset("utf-8");

    String originalText = "this is the string that was signed.";
    String sigPath = "c:/someDir/example.p7s";

    //  ------------------------------------------------------------------------
    //  The OpaqueVerifyString method is deprecated:

    CkByteData detachedSigBytes = new CkByteData();
    detachedSigBytes.loadFile(sigPath);

    boolean verified = crypt.VerifyString(originalText,detachedSigBytes);

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

    CkBinData bdSig = new CkBinData();
    bdSig.LoadFile(sigPath);

    String encoding = "base64";
    crypt.put_EncodingMode(encoding);
    verified = crypt.VerifyStringENC(originalText,bdSig.getEncoded(encoding));

  }

  static {
      System.loadLibrary("chilkat");

      // Note: If the incorrect library name is passed to System.loadLibrary,
      // then you will see the following error message at application startup:
      //"The application <your-application-name> has stopped unexpectedly. Please try again."
  }
}