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

Re: PassportApplet Instructions & Applet Source Code

Posted: Thu Apr 01, 2021 2:46 am
by abuhelweh
Hi

The error which you get is related to security and authentication with card manager, try this


//Initial Update
80 50 00 00 08 11 22 33 44 55 66 77 88 00
00 00 92 90 03 25 92 07 53 99 FF 02 01 0B E5 8C C3 3A CD 6F C9 B8 FA 70 ED B4 E4 10
90 00

//External Authenticate
84 82 00 00 10 45 88 E7 AA F8 7D CE AD 34 7A A0 1B 8F 27 84 05
90 00

//Get Status
80 F2 80 00 02 4F 00
08 A0 00 00 01 51 00 00 00 01 9A
90 00

//Get Status
80 F2 40 00 02 4F 00
07 A0 00 00 02 47 10 01 07 00 05 11 22 33 44 55 07 04
90 00