Sample code for 30+ languages & platforms
Android™

Load a Raw Ed25519 Public Key

Demonstrates the Chilkat PublicKey.LoadEd25519 method, which loads a raw Ed25519 public key from a hexadecimal string. The only argument must be exactly 64 hexadecimal characters (32 bytes).

Background: An Ed25519 public key is simply a fixed 32-byte value, so raw hex is a natural way to carry it — no ASN.1 container required. This loader takes those bytes directly, which is useful when a key comes from a system that emits raw values rather than a PEM or JWK. For a standard container, use LoadFromString or one of the DER/PEM loaders instead.

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);

    boolean success = false;

    //  Demonstrates the PublicKey.LoadEd25519 method, which loads a raw Ed25519 public key from a
    //  hexadecimal string.  The only argument must be exactly 64 hexadecimal characters (32 bytes).

    CkPublicKey pubKey = new CkPublicKey();

    //  The 32-byte Ed25519 public key as 64 hex digits.
    String pubKeyHex = "d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a";

    success = pubKey.LoadEd25519(pubKeyHex);
    if (success == false) {
        Log.i(TAG, pubKey.lastErrorText());
        return;
        }

    Log.i(TAG, "Loaded an Ed25519 public key.");

  }

  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."
  }
}