PassportApplet Instructions & Applet Source Code

Passport Applet

Moderator: Ellisun

User avatar
JavaCardOS
Posts: 272
Joined: Thu Apr 30, 2015 12:00 pm
Points :2373
Contact:

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.

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
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
Contact:

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
rainly
Posts: 11
Joined: Tue Jun 09, 2015 4:38 am
Points :18
Contact:

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
Ellisun
Posts: 49
Joined: Wed May 20, 2015 3:47 am
Points :460
Contact:

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 http://jmrtd.org/

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

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
UNKNwYSHSA
Posts: 630
Joined: Thu May 21, 2015 4:05 am
Points :3039
Contact:

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:
Site: https://sourceforge.net/projects/jmrtd/
Code: svn://svn.code.sf.net/p/jmrtd/code/trunk/passportapplet
sense and simplicity

ImadAbukhadra
Posts: 2
Joined: Tue Jul 07, 2020 11:49 am
Points :140
Contact:

Re: PassportApplet Instructions & Applet Source Code

Post by ImadAbukhadra » Sat Nov 07, 2020 8:29 am

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

abuhelweh
Posts: 4
Joined: Wed Feb 17, 2021 4:17 pm
Points :60
Contact:

Re: PassportApplet Instructions & Applet Source Code

Post by abuhelweh » Thu Apr 01, 2021 2:46 am

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

Post Reply Previous topicNext topic

Who is online

Users browsing this forum: No registered users and 1 guest

JavaCard OS : Disclaimer