Page 1 of 1

PassportApplet Instructions & Applet Source Code

Posted: Wed Jun 03, 2015 6:54 am
by JavaCardOS
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.

Note:
1. The Applet has been successfully compiled in JCIDE, can be directly use after download.
2. This Applet from http://sourceforge.net/p/jmrtd/code/HEA ... ortapplet/ (LGPL3)



See Also:
PassportReader Tool

Re: The PassportApplet

Posted: Fri Jun 12, 2015 1:47 am
by Angela Merkel
Is there anyone who can explain the specific function in this project ? as well as the conception of PKI used in epassport authentication?

Re: The PassportApplet

Posted: Fri Jun 12, 2015 8:12 am
by rainly
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)

Re: The PassportApplet

Posted: Fri Jun 12, 2015 8:30 am
by Ellisun
@Angela Merkel You can get more information about the open-source applications on www http://jmrtd.org/

Re: PassportApplet Instructions & Applet Source Code

Posted: Thu Dec 01, 2016 6:00 am
by haipn
I viewed source code but can't find where is implementation PACE protocol?
Could you show me?

Re: PassportApplet Instructions & Applet Source Code

Posted: Thu Dec 01, 2016 9:45 pm
by UNKNwYSHSA
Yes, this applet did not implement the PACE.
You can reference to this applet:
Site: https://sourceforge.net/projects/jmrtd/
Code: svn://svn.code.sf.net/p/jmrtd/code/trunk/passportapplet

Re: PassportApplet Instructions & Applet Source Code

Posted: Sat Nov 07, 2020 8:29 am
by ImadAbukhadra
Hello There,

Iam facing an issue while installing the JMRTD Applet on JCOP3 card, I'm using JCIDE to build the project and generate the cap file, the project compiled successfully and when using the simulator seems everything working smoothly, but on real card its shown the following logs:

>> ext-auth
>> upload "C:\Users\imada\Downloads\Passport-Applet-v1.0\Passport\bin\sos\passportapplet\javacard\passportapplet.cap"
>> 80 E6 02 00 13 06 A0 00 00 02 47 10 08 A0 00 00 00 03 00 00 00 00 00 00 01
<< 69 85 Conditions of use not satisfied

Download cap failed...

>> cardinfo
>> 80 F2 80 00 02 4F 00 00
<< 69 85 Conditions of use not satisfied

>> 80 F2 40 00 02 4F 00 00
<< 69 85 Conditions of use not satisfied

>> 80 F2 10 00 02 4F 00 00
<< 69 85 Conditions of use not satisfied

Card Manager AID :
Card Manager state : OP_READY



I'm new to this field and Any help will be appreciated.

Thanks in advance for your support