Android™
Android™
Export a Public Key DER as Encoded Text
Demonstrates the Chilkat PublicKey.GetEncoded method, which returns the DER representation encoded as text. The first argument selects the DER representation (as for GetPem) and the second names the binary encoding, such as base64 or hex.
Note: The file paths are relative to the application's current working directory. Absolute paths may also be used. Supply the paths appropriate to your own environment.
Background: This returns the raw DER bytes as an encoded string, so the key can travel through a text-only medium without the
BEGIN/END armor of PEM. Choosing base64 versus hex is simply a matter of what the consumer expects, and the first argument selects the same DER structures as GetPem.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;
// Load a public key to export. LoadFromFile inspects the content, so it accepts DER, PEM, XML,
// JWK, and other supported representations.
CkPublicKey pubKey = new CkPublicKey();
success = pubKey.LoadFromFile("qa_data/public.pem");
if (success == false) {
Log.i(TAG, pubKey.lastErrorText());
return;
}
// Export the DER as text. The 1st argument selects the DER representation (as for GetPem) and
// the 2nd names the binary encoding, such as "base64" or "hex".
boolean preferPkcs1 = false;
String encoded = pubKey.getEncoded(preferPkcs1,"base64");
if (pubKey.get_LastMethodSuccess() == false) {
Log.i(TAG, pubKey.lastErrorText());
return;
}
Log.i(TAG, encoded);
}
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."
}
}