I am trying to read AFL - application file locator in EMV debit card. for some cards when i am passing apdu like -
0x80, 0xA8, 0x00, 0x00, 0x02, 0x83, 0x00 ,0x00 (with no PDOL )
here it is giving 0x900 but for some cards it is giving 0x6984
For those cards which is giving 0x6984 , i tried to send apdu like-
0x80, 0xA8, 0x00, 0x00, 0x04, 0x83, 0x02, 0x08,0x26 , 0x00;
with PDOL value
and here it is working fine and giving AFL as required.
as per standards says:-
6.5.8.3 Data Field Sent in the Command Message
The data field of the command message is a data object coded according to the PDOL provided by the ICC, as defined in section 5.4, and is introduced by the tag '83'. When the data object list is not provided by the ICC, the terminal sets the length field of the template to zero. Otherwise, the length field of the template is the total length of the value fields of the data objects transmitted to the ICC
what i understand is - PDOL is first provdie by ICC and then we use it in GPO command.
i am confused about why some card working good wiht no PDOL or some card not. and what is the significance of PDOL in GPO, how i get the PDOL from ICC and how we use it in GPO command??