PassportApplet Instructions & Applet Source Code

Passport Applet

Moderator: Ellisun

User avatar
Posts: 269
Joined: Thu Apr 30, 2015 12:00 pm
Points :2353

PassportApplet Instructions & Applet Source Code

Post by JavaCardOS » Wed Jun 03, 2015 6:54 am

Free implementation of the JMRTD (Java Machine Readable Travel Document) standards as set by International Civil Aviation Organization(ICAO) ​used in the E-Passport. Consists of an API for card terminal software and a Java Card applet.

    What is an E-Passport?
An E-Passport contains an electronic chip. The chip holds the same information that is printed on the passport'​s data page: the holder'​s name, date of birth, and other biographic information. An e-Passport also contains a biometric identifier. The United States requires that the chip contain a digital photograph of the holder. All e-Passports issued by Visa Waiver Program ​(VWP) countries and the United States have security features to prevent the unauthorized reading or "​skimming"​ of data stored on the e-Passport chip.
It looks like a traditional passport book, but it contains an electronic chip that is encoded with the same information found on the passport (surname, given name, date of birth and sex).

    About JMRTD
JMRTD is an open source ​Java implementation of the Machine Readable Travel Document standards as specified by ICAO. The electronic passport (or "​E-Passport"​), which by now has been introduced in many countries, is an implementation of these standards.
JMRTD provides both a card side application (the "​passport applet"​) and a host side API for accessing ePassports. The passport applet makes it possible to create your own passports (in case you're starting your own country). The applet is written in Java Card.

For more information about this Applet, please see the attachment file.

1. The Applet has been successfully compiled in JCIDE, can be directly use after download.
2. This Applet from ... ortapplet/ (LGPL3)

See Also:
PassportReader Tool
You do not have the required permissions to view the files attached to this post. Please login first.
Last edited by JavaCardOS on Fri Jan 08, 2016 1:54 am, edited 10 times in total.

User avatar
Angela Merkel
Posts: 2
Joined: Tue Jun 09, 2015 4:15 am
Points :0

Re: The PassportApplet

Post by Angela Merkel » Fri Jun 12, 2015 1:47 am

Is there anyone who can explain the specific function in this project ? as well as the conception of PKI used in epassport authentication?

User avatar
Posts: 11
Joined: Tue Jun 09, 2015 4:38 am
Points :18

Re: The PassportApplet

Post by rainly » Fri Jun 12, 2015 8:12 am

The main features:

  1. Java API for accessing ICAO Doc 9303 MRTD (ePassport)
  2. Supports inspection system use case (on Android, for example)
  3. Supports MRTD personalization use case
  4. Java Card MRTD implementation
  5. Supports PKD certificate store and CSCA master lists
  6. Supports Basic, Extended, Supplemental Access Control (BAC, EAC, SAC / PACE)
  7. Supports JPEG2000 and WSQ encoding and decoding of biometric images
  8. Supports encoding and decoding of CBEFF datagroups (ISO 19785, ISO 19794)

User avatar
Posts: 48
Joined: Wed May 20, 2015 3:47 am
Points :456

Re: The PassportApplet

Post by Ellisun » Fri Jun 12, 2015 8:30 am

@Angela Merkel You can get more information about the open-source applications on www

Posts: 2
Joined: Wed Jul 06, 2016 11:11 pm
Points :72

Re: PassportApplet Instructions & Applet Source Code

Post by haipn » Thu Dec 01, 2016 6:00 am

I viewed source code but can't find where is implementation PACE protocol?
Could you show me?

User avatar
Posts: 630
Joined: Thu May 21, 2015 4:05 am
Points :3037

Re: PassportApplet Instructions & Applet Source Code

Post by UNKNwYSHSA » Thu Dec 01, 2016 9:45 pm

Yes, this applet did not implement the PACE.
You can reference to this applet:
Code: svn://
sense and simplicity

Post Reply Previous topicNext topic

Who is online

Users browsing this forum: No registered users and 0 guests

JavaCard OS : Disclaimer