smartcard - How do I interpret the response from GET PROCESSING OPTIONS? -
i'm communicating visa electron debit card via acr reader , following response get processing options
command:
80 0a 1c 00 08 01 03 00 10 01 01 00 90 00
how should interpret response, when there's no afl (application file locator) nor aip (application interchange profile) in it? here's full communication log:
select psev2: 00 a4 04 00 0e 32 50 41 59 2e 53 59 53 2e 44 44 46 30 31 00 select psev2 returned: 6a82 - wrong parameter(s) p1 p2; file not found select psev1: 00 a4 04 00 0e 31 50 41 59 2e 53 59 53 2e 44 44 46 30 31 00 select psev1 returned: 6a82 - wrong parameter(s) p1 p2; file not found select adf: 00 a4 04 00 07 a0 00 00 01 52 30 10 00 select adf returned: 6a82 - wrong parameter(s) p1 p2; file not found select adf: 00 a4 04 00 07 a0 00 00 00 03 10 10 00 select adf returned: 6a82 - wrong parameter(s) p1 p2; file not found select adf: 00 a4 04 00 07 a0 00 00 00 03 20 10 00 select adf returned: 6f 2c 84 07 a0 00 00 00 03 20 10 a5 21 50 0d 56 49 53 41 20 45 4c 45 43 54 52 4f 4e 87 01 01 5f 2d 04 62 67 65 6e bf 0c 05 9f 4d 02 0b 0a 90 00 select adf: 00 a4 04 00 05 a0 00 00 00 25 00 select adf returned: 6a82 - wrong parameter(s) p1 p2; file not found select adf: 00 a4 04 00 07 a0 00 00 00 04 10 10 00 select adf returned: 6a82 - wrong parameter(s) p1 p2; file not found select adf: 00 a4 04 00 07 a0 00 00 00 03 20 10 00 select adf returned: 6f 2c 84 07 a0 00 00 00 03 20 10 a5 21 50 0d 56 49 53 41 20 45 4c 45 43 54 52 4f 4e 87 01 01 5f 2d 04 62 67 65 6e bf 0c 05 9f 4d 02 0b 0a 90 00 processing options: 80 a8 00 00 02 83 00 00 processing options returned: 80 0a 1c 00 08 01 03 00 10 01 01 00 90 00
thanks lot!
emv specification can details. in response only tags 0x82 , 0x94 values without tag , length parts.
in get processing option (gpo) command response ber-tlv encoded data. in sample: under tag 0x80 "template, response message format 1" packed tag 0x82 "emv, application interchange profile (aip)" value 2 bytes , rest tag 0x94 "emv, application file locator (afl)" value.
here results emv apdu command/response parser
> 80 a8 00 00 02 83 00 00 < 80 0a 1c 00 08 01 03 00 10 01 01 00 90 00 a8: # emv, processing options - rq:#"80a8000002830000" # iso 7816-3, case 4 - cla: "80" # class byte - ins: "a8" # instruction - p1p2: "0000" # parameters 1 , 2 - lcdata:#"028300" - len: "02" # . - val:#"8300" # . - rfu: "8300" # authorisation cryptogram rfu - le: "00" # . - rs:#"800a1c0008010300100101009000" # response - sw1sw2:#"9000" # status byte 1 , 2 - sw1: "90" # status byte 1 // normal processing - sw2: "00" # status byte 2 - data:#"800a1c000801030010010100" # . - x80:#"800a1c000801030010010100" - tag: "80" - len: "0a" # // 10 - val:#"1c000801030010010100" # template, response message format 1. - x82:#"1c00" # emv, application interchange profile (aip) - val:#"1c00" # application interchange profile (aip). - b01: "1c" # ___1____ - bit 5, cardholder verification supported # ____1___ - bit 4, terminal risk management performed # _____1__ - bit 3, issuer authentication supported - b02: "00" # rfu - x94:#"0801030010010100" # emv, application file locator (afl) - val:#"0801030010010100" # application file locator (afl). - s1:#"08010300" # afl record - b01: "08" # sfi [xxxxx___] // 1 - b02: "01" # record // 1 - b03: "03" # record // 3 - b04: "00" # first hashed - s2:#"10010100" # afl record - b01: "10" # sfi [xxxxx___] // 2 - b02: "01" # record // 1 - b03: "01" # record // 1 - b04: "00" # first hashed
Comments
Post a Comment