Android™
Android™
Load an EC Public Key from Point Coordinates
Demonstrates the Chilkat PublicKey.LoadEcdsa method, which loads an elliptic-curve public key from its affine point coordinates. The first argument names the curve, the second is the hexadecimal x-coordinate (Qx), and the third is the y-coordinate (Qy).
Background: An EC public key is a point (x, y) on a named curve, so this loader constructs the key from those raw values directly — the option to use when a system hands you the coordinates rather than an encoded key. The curve name (for example
secp256r1) is essential, since the same coordinates mean nothing without knowing which curve they lie on.Chilkat Android™ Downloads
// 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.LoadEcdsa method, which loads an elliptic-curve public key from its
// affine point coordinates. The 1st argument names the curve, the 2nd is the hex x-coordinate
// (Qx), and the 3rd is the hex y-coordinate (Qy).
CkPublicKey pubKey = new CkPublicKey();
String curveName = "secp256r1";
String qx = "1ccbe91c075fc7f4f033bfa248db8fccd3565de94bbfb12f3c59ff46c271bf83";
String qy = "ce4014c68811f9a21a1fdb2c0e6113e06db7ca93b7404e78dc7ccd5ca89a4ca9";
success = pubKey.LoadEcdsa(curveName,qx,qy);
if (success == false) {
Log.i(TAG, pubKey.lastErrorText());
return;
}
Log.i(TAG, "Loaded an EC public key on " + curveName);
}
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."
}
}