Sample code for 30+ languages & platforms
Android™

Get the Signer Details of a Signed Email

See more Email Object Examples

Demonstrates the read-only Chilkat Email.SignedBy property. If the email was received digitally signed, this contains the fields of the signer certificate's Subject Distinguished Name, for example: US, 94105, California, San Francisco, 100 Market Street, Northwind Research LLC, Engineering, Avery Morgan. The values appear without the attribute-name prefixes (C=, ST=, L=, O=, CN=). It is intended for display or diagnostics; use LastSignerCert when the certificate object itself is needed.

Background: Every certificate identifies its owner with a Subject Distinguished Name (Subject DN) — a structured set of fields like Country (C), State (ST), Organization (O), and Common Name (CN). The CN is typically the person or entity the certificate was issued to. SignedBy gives you a human-readable rendering of that identity, which is handy for showing "who signed this?" without needing to parse the certificate yourself.

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 read-only Email.SignedBy property.  If the email was received
    //  digitally signed, this contains the fields of the signer certificate's SubjectDN
    //  (without the C=, ST=, L=, O=, CN= attribute names).

    CkEmail email = new CkEmail();

    success = email.LoadEml("qa_data/eml/signed.eml");
    if (success == false) {
        Log.i(TAG, email.lastErrorText());
        return true;
        }

    if (email.get_ReceivedSigned() == true) {
        Log.i(TAG, "Signed by: " + email.signedBy());
        }
    else {
        Log.i(TAG, "This email was not signed.");
        }

    //  Note: Paths such as "qa_data/..." are relative local filesystem paths,
    //  relative to the current working directory of the running application.

  }

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