Posted on 28th Nov 2019 59859 views
This explanation builds on top of existing information at wiki about
https://en.wikipedia.org/wiki/Smart_card_application_protocol_data_unit
A selected list of used commands is available at the end of this page.
Any smart card reader will come with a set of drivers an libraries to interface with it. We will assume that you do not need to build communication with the reader, just to use it.
The reader comes with an interface to send apdu commands.
Depending on your Card Brand, different commands need to be used.
First thing you do is to select the application.
Command looks like this for Visa an then Mastercard:
00A4040007A000000003101000
00A4040007A0000000043060
Then get the processing option:
80A800000483025541
And then just get all the information from your chip card
80AE8000210000000000000000000000000586000000000005861802020000E44E4B11040001
Smartcard Selected InformationAPDU list
#------------+------------------------+------------------------+----------------------+--------------------------------+ |ClaIns P1 P2|Lc Send Data |Le Recv Data | Specification | Description | +------------+------------------------+------------------------+----------------------+--------------------------------+ | 04 | ISO 7816-96.3 | DEACTIVATE FILE | | A0 04 00 00 00 | 3GPP TS 11.11 | INVALIDATE | | A0 04 00 00 00 | SAGEM SCT U34 6.15 | INVALIDATE | +------------+------------------------+------------------------+----------------------+--------------------------------+ | 80 0D xx xx 08 xxxx xxxx xxxx xxxx | SAGEM SCT U34 | VERIFY TRANSPORT CODE | +------------+------------------------+------------------------+----------------------+--------------------------------+ | 0C | ISO 7816-47.3.6 | ERASE RECORD (S) | | 80 0C 00 xx xx | SAGEM SCT U34 8.1.2 | CHECK (flash) | | 80 0C 01 xx xx | SAGEM SCT U34 8.1.2 | CHECK (EEPROM) | | 80 0C 02 xx xx | SAGEM SCT U34 8.1.2 | CHECK (checksum of file) | +------------+------------------------+------------------------+----------------------+--------------------------------+ | 0E | ISO 7816-48.2.4 | ERASE BINARY | +------------+------------------------+------------------------+----------------------+--------------------------------+ | 10 | ISO 7816-4 | PERFORM SCQL OPERATION | | 00 10 00 80 xx table name, ... | ISO 7816-47.1 | CREATE TABLE | | 00 10 00 81 xx view name, table name | ISO 7816-47.2 | CREATE VIEW | | 00 10 00 82 xx dictionary name | ISO 7816-47.3 | CREATE DICTIONARY | | 00 10 00 83 xx table name | ISO 7816-47.4 | DROP TABLE | | 00 10 00 84 xx view or dictionary | ISO 7816-47.5 | DROP VIEW | | 00 10 00 85 xx privileges | ISO 7816-47.6 | GRANT | | 00 10 00 86 xx privileges | ISO 7816-47.7 | REVOKE | | 00 10 00 87 xx data | ISO 7816-47.8 | DECLARE CURSOR | | 00 10 00 88 | ISO 7816-47.9 | OPEN | | 00 10 00 89 | ISO 7816-47.10 | NEXT | | 00 10 00 8A xx D, fixing N (columns)| ISO 7816-47.11 | FETCH | | 00 10 00 8B xx D, fixing N (columns)| ISO 7816-47.12 | FETCH NEXT | | 00 10 00 8C xx data | ISO 7816-47.13 | INSERT | | 00 10 00 8D xx data | ISO 7816-47.14 | UPDATE | | 00 10 00 8E | ISO 7816-47.15 | DELETE | +------------+------------------------+------------------------+----------------------+--------------------------------+ | 12 | ISO 7816-4 | PERFORM TRANSACTION OPERATION | | 00 12 00 80 | ISO 7816-48.2.1 | BEGIN | | 00 12 00 81 | ISO 7816-48.2.2 | COMMIT | | 00 12 00 82 | ISO 7816-48.2.3 | ROLLBACK | +------------+------------------------+------------------------+----------------------+--------------------------------+ | 14 | ISO 7816-4 | PERFORM USER OPERATION | | 00 14 00 80 xx User ID, ... | ISO 7816-49.2.1 | PRESENT USER | | 00 14 00 81 xx User ID, profile, ... | ISO 7816-49.2.2 | CREATE USER | | 00 14 00 82 xx User ID | ISO 7816-49.2.3 | DELETE USER | | 80 14 xx xx 00 | GEMPLUS MPCOS-EMV | Switch Protocol | +------------+------------------------+------------------------+----------------------+--------------------------------+ | 84 16 00 00 xx MAC | VSDC | CARD BLOCK | | 80 16 0X 00 05 xxxx xxxx xx | GEMPLUS MPCOS-EMV | Freeze Access Conditions | | 84 16 0X 00 08 xxxx xxxx xxxx xxxx | GEMPLUS MPCOS-EMV | Freeze Access Conditions | +------------+------------------------+------------------------+----------------------+--------------------------------+ | 84 18 00 00 xx MAC | VSDC | APPLICATION UNBLOCK | +------------+------------------------+------------------------+----------------------+--------------------------------+ | 84 1E 00 00 xx MAC | VSDC | APPLICATION BLOCK | +------------+------------------------+------------------------+----------------------+--------------------------------+ | 20 | ISO 7816-48.5.5 | VERIFY | | 00 20 00 80 08 xxxx xxxx xxxx xxxx | VSDC | VERIFY (Transaction PIN data) | | A0 20 00 xx 08 CHV Value | 3GPP TS 11.11 | VERIFY | | A0 20 00 xx 08 CHV Value | SAGEM SCT U34 6.10 | VERIFY | | 80 20 00 xx 08 ADM Value | SAGEM SCT U34 8.1.4 | VERIFY ADM | +------------+------------------------+------------------------+----------------------+--------------------------------+ | 80 21 00 xx 08 ADM Value | SAGEM SCT U34 8.1.4 | VERIFY ADM | +------------+------------------------+------------------------+----------------------+--------------------------------+ | 22 | ISO 7816-48.5.10 | MANAGE SECURITY ENVIRONMENT | +------------+------------------------+------------------------+----------------------+--------------------------------+ | 24 | ISO 7816-48.5.6 | CHANGE CHV | | 84 24 00 00 xx PIN data + MAC | VSDC | PIN CHANGE/UNBLOCK | | A0 24 00 xx 10 Old CHV, New CHV | 3GPP TS 11.11 | CHANGE CHV | | A0 24 00 xx 10 Old CHV, New CHV | SAGEM SCT U34 6.11 | CHANGE CHV | +------------+------------------------+------------------------+----------------------+--------------------------------+ | 26 | ISO 7816-48.5.8 | DISABLE CHV1 | | A0 26 00 01 08 CHV1 value | 3GPP TS 11.11 | DISABLE CHV1 | | A0 26 00 01 08 CHV1 value | SAGEM SCT U32 6.12 | DISABLE CHV1 | +------------+------------------------+------------------------+----------------------+--------------------------------+ | 28 | ISO 7816-48.5.7 | ENABLE CHV1 | | A0 28 00 01 08 CHV1 value | 3GPP TS 11.11 | ENABLE CHV1 | | A0 28 00 01 08 CHV1 value | SAGEM SCT U34 6.13 | ENABLE CHV1 | +------------+------------------------+------------------------+----------------------+--------------------------------+ | 2A | ISO 7816-85.2 | PERFORM SECURITY OPERATION | +------------+------------------------+------------------------+----------------------+--------------------------------+ | 2C | ISO 7816-48.5.9 | UNBLOCK CHV | | A0 2C 00 xx 10 Unblock CHV(PUK), New CHV | 3GPP TS 11.11 | UNBLOCK CHV | | A0 2C 00 xx 10 Unblock CHV(PUK), New CHV | SAGEM SCT U34 6.14 | UNBLOCK CHV | +------------+------------------------+------------------------+----------------------+--------------------------------+ | A0 2E 00 0# 01 Data | 3GPP TS 11.11 | WRITE CODE STATUS | +------------+------------------------+------------------------+----------------------+--------------------------------+ | A0 32 00 00 03 Value to be added. | 3GPP TS 11.11 | INCREASE | | A0 32 00 00 03 Value to be added. | SAGEM SCT U34 6.9 | INCREASE | +------------+------------------------+------------------------+----------------------+--------------------------------+ | 39 | | java Authentificate User Comman| +------------+------------------------+------------------------+----------------------+--------------------------------+ | 44 | ISO 7816-96.4 | ACTIVATE FILE | | A0 44 00 00 00 | 3GPP TS 11.11 | REHABILIDATE | | A0 44 00 00 00 | SAGEM SCT U34 6.16 | REHABILIDATE | +------------+------------------------+------------------------+----------------------+--------------------------------+ | 46 | ISO 7816-85.1 | GENERATE ASYMMETRIC KEY PAIR | +------------+------------------------+------------------------+----------------------+--------------------------------+ | 80 50 xx xx 08 Host challenge 00 | GlobalPlatform | INITIALIZE UPDATE then [C0] | +------------+------------------------+------------------------+----------------------+--------------------------------+ | 70 | ISO 7816-48.1.2 | MANAGE CHANNEL | | 00 70 xx xx xx | GlobalPlatform | MANAGE CHANNEL | +------------+------------------------+------------------------+----------------------+--------------------------------+ | 80 78 00 03 xx | GlobalPlatform | END R-MAC SESSION | +------------+------------------------+------------------------+----------------------+--------------------------------+ | 80 7A xx 01 xx Data and C-MAC, if needed | GlobalPlatform | BEGIN R-MAC SESSION | +------------+------------------------+------------------------+----------------------+--------------------------------+ | 82 | ISO 7816-48.5.3 | EXTERNAL AUTHENTICATE | | 84 82 00 00 10 Host cryptogram and MAC | GlobalPlatform | EXTERNAL AUTHENTICATE | | 84 82 00 00 0A Authentication-related data | VSDC | EXTERNAL AUTHENTICATE | | 00 82 00 xx 06 Manual | GEMPLUS MPCOS-EMV | EXTERNAL AUTHENTICATE | +------------+------------------------+------------------------+----------------------+--------------------------------+ | 84 | ISO 7816-48.5.2 | GET CHALLENGE | | 00 84 00 00 08 Rnd Num | VSDC | GET CHALLENGE | | 00 84 xx xx 08 Rnd Num | GEMPLUS MPCOS-EMV | GET CHALLENGE | +------------+------------------------+------------------------+----------------------+--------------------------------+ | 86 | ISO 7816-48.5.4 | GENERAL AUTHENTICATE | +------------+------------------------+------------------------+----------------------+--------------------------------+ | 88 | ISO 7816-48.5.1 | INTERNAL AUTHENTICATE | | 00 88 XX xx 0A Manual | GEMPLUS MPCOS-EMV | INTERNAL AUTHENTICATE | | A0 88 00 00 10 RAND : Rnd num xx SRES( 4B) , Kc (8B) | 3GPP TS 11.11 | RUN GSM ALGORITHM | | A0 88 00 00 10 RAND : Rnd num xx SRES( 4B) , Kc (8B) | SAGEM SCT U34 6.17 | RUN GSM ALGORITHM | +------------+------------------------+------------------------+----------------------+--------------------------------+ | A0 | ISO 7816-48.2.5 | SEARCH BINARY | +------------+------------------------+------------------------+----------------------+--------------------------------+ | A2 | ISO 7816-48.3.5 | SEEK | | A0 A2 00 xx xx Pattern xx | 3GPP TS 11.11 | SEEK | | A0 A2 00 xx xx Pattern xx | SAGEM SCT U34 6.8 | SEEK | +------------+------------------------+------------------------+----------------------+--------------------------------+ | A4 | ISO 7816-48.1.1 | SELECT | | 00 A4 04 00 xx AID 00 | GlobalPlatform | SELECT | | 00 A4 00 xx xx File ID || Name 00 Manual | VSDC | SELECT | | A0 A4 00 00 02 File ID | 3GPP TS 11.11 | SELECT | | A0 A4 00 00 02 File ID | SAGEM SCT U34 6.1 | SELECT | +------------+------------------------+------------------------+----------------------+--------------------------------+ | 80 A8 00 00 00 00 | VSDC | GET PROCESSING OPTIONS | +------------+------------------------+------------------------+----------------------+--------------------------------+ | 80 AE 00 xx Transaction-related data | VSDC | | +------------+------------------------+------------------------+----------------------+--------------------------------+ | B0 | ISO 7816-48.2.1 | READ BINARY | | 00 B0 xx xx xx | GEMPLUS MPCOS-EMV | READ BINARY | | A0 B0 xx xx xx | 3GPP TS 11.11 | READ BINARY | | A0 B0 xx xx xx | SAGEM SCT U34 6.4 | READ BINARY | +------------+------------------------+------------------------+----------------------+--------------------------------+ | B2 | ISO 7816-48.3.1 | READ RECORD | | 00 B2 xx 00 | VSDC | READ RECORD | | A0 B2 xx xx xx | 3GPP TS 11.11 | READ RECORD | | A0 B2 xx xx xx | SAGEM SCT U34 6.6 | READ RECORD | +------------+------------------------+------------------------+----------------------+--------------------------------+ | B4 | | java Component Data | +------------+------------------------+------------------------+----------------------+--------------------------------+ | B8 | | java Create Applet | +------------+------------------------+------------------------+----------------------+--------------------------------+ | BA | | java CAP end | +------------+------------------------+------------------------+----------------------+--------------------------------+ | BC | | java Component end | +------------+------------------------+------------------------+----------------------+--------------------------------+ | BE 04 Data | GEMPLUS GemClub-MEMO | READ | +------------+------------------------+------------------------+----------------------+--------------------------------+ | C0 | ISO 7816-48.6.1 | GET RESPONSE | | 00 C0 1C Key Info | GlobalPlatform | GET RESPONSE | | 00 C0 00 00 00 | VSDC | GET RESPONSE | | 80 C0 00 00 xx | GEMPLUS MPCOS-EMV | Get Info on Get Response | | 80 C0 02 A0 08 Chip SN | GEMPLUS MPCOS-EMV | Get Info | | 80 C0 02 A1 08 Card SN | GEMPLUS MPCOS-EMV | Get Info | | 80 C0 02 A2 08 Issuer SN | GEMPLUS MPCOS-EMV | Get Info | | 80 C0 02 A3 04 Iss.Ref.N | GEMPLUS MPCOS-EMV | Get Info | | 80 C0 02 A4 0D Chip Inf | GEMPLUS MPCOS-EMV | Get Info | | 80 C0 02 A5 xx Keys | GEMPLUS MPCOS-EMV | Get Info | | 80 C0 02 A6 02 Last DF/EF | GEMPLUS MPCOS-EMV | Get Info | | A0 C0 00 00 xx | 3GPP TS 11.11 | GET RESPONSE | | A0 C0 00 00 xx | SAGEM SCT U34 6.3 | GET RESPONSE | +------------+------------------------+------------------------+----------------------+--------------------------------+ | C2 | ISO 7816-48.6.2 | ENVELOPE | +------------+------------------------+------------------------+----------------------+--------------------------------+ | C4 | | java Delete Applets | +------------+------------------------+------------------------+----------------------+--------------------------------+ | CA | ISO 7816-48.4.1 | GET DATA | | 00 CA 00 xx xx MAC, if present | GlobalPlatform | GET DATA | | 80 CA xx xx xx | VSDC | GET DATA | +------------+------------------------+------------------------+----------------------+--------------------------------+ | D0 | ISO 7816-48.2.2 | WRITE BINARY | | 80 D0 xx xx xx Data to be written in EEPROM | VSDC | LOAD STRUCTURE | +------------+------------------------+------------------------+----------------------+--------------------------------+ | D2 | ISO 7816-48.3.2 | WRITE RECORD | +------------+------------------------+------------------------+----------------------+--------------------------------+ | D6 | ISO 7816-48.2.3 | UPDATE BINARY | | A0 D6 xx xx xx Data to be written in EEPROM | 3GPP TS 11.11 | UPDATE BINARY | | A0 D6 xx xx xx Data to be written in EEPROM | SAGEM SCT U34 6.5 | UPDATE BINARY | +------------+------------------------+------------------------+----------------------+--------------------------------+ | 80 D8 xx xx xx KEY Date (and MAC) 00 | GlobalPlatform | PUT KEY | | D8 | EMV | Set Card Status(personalization| +------------+------------------------+------------------------+----------------------+--------------------------------+ | DA | ISO 7816-48.4.2 | PUT DATA | | 00 DA xx xx xx Data | VSDC | PUT DATA | +------------+------------------------+------------------------+----------------------+--------------------------------+ | DC | ISO 7816-4 | UPDATE RECORD | | 00 DC xx xx xx Data (and MAC) | VSDC | UPDATE RECORD | | A0 DC xx xx xx Data to be written in EEPROM | 3GPP TS 11.11 | UPDATE RECORD | | A0 DC xx xx xx Data to be written in EEPROM | SAGEM SCT U34 6.7 | UPDATE RECORD | +------------+------------------------+------------------------+----------------------+--------------------------------+ | DE 04 Data | GEMPLUS GemClub-MEMO | UPDATE | | A0 DE 00 00 03 Data | 3GPP TS 11.11 | LOAD AoC(SICAP) | +------------+------------------------+------------------------+----------------------+--------------------------------+ | E0 | ISO 7816-96.1 | CREATE FILE | | 80 E0 02 00 0C Manual | GEMPLUS MPCOS-EMV | CREATE FILE | | 80 E0 xx xx xx FCI length | 3GPP TS 11.11 | CREATE FILE | | 80 E0 xx xx xx FCI length | SAGEM SCT U34 | CREATE FILE | +------------+------------------------+------------------------+----------------------+--------------------------------+ | E2 | ISO 7816-48.3.4 | APPEND RECORD | | 80 E2 00 00 xx Record (and MAC) | GlobalPlatform | APPEND RECORD | | 00 E2 00 00 xx Record | VSDC | APPEND RECORD | | 00 E2 00 00 xx Record | GEMPLUS MPCOS-EMV | APPEND RECORD | | 00 E2 00 00 xx Record | 3GPP TS 11.11 | APPEND RECORD | +------------+------------------------+------------------------+----------------------+--------------------------------+ | E4 | ISO 7816-96.2 | DELETE FILE | | 80 E4 00 00 xx TLV coded name | GlobalPlatform | DELETE FILE | | A0 E4 00 00 02 xx xx | 3GPP TS 11.11 | DELETE FILE | +------------+------------------------+------------------------+----------------------+--------------------------------+ | E6 | ISO 7816-96.5 | TERMINATE DF | | 80 E6 xx 00 xx Manual | GlobalPlatform | INSTALL | | A0 E6 xx xx 00 | 3GPP TS 11.11 | LOCK RECORD | +------------+------------------------+------------------------+----------------------+--------------------------------+ | E8 | ISO 7816-96.6 | TERMINATE EF | | 80 E8 00 00 xx Record | GlobalPlatform | LOAD | | A0 E8 00 xx 10 Data | 3GPP TS 11.11 | READ DIRECTORY | +------------+------------------------+------------------------+----------------------+--------------------------------+ | 80 EA 00 00 xx Data | 3GPP TS 11.11 | CREATE BINARY | | 80 EA 00 00 xx Data | SAGEM SCT U34 | CREATE BINARY | +------------+------------------------+------------------------+----------------------+--------------------------------+ | 80 EE 00 xx 00 | VSDC | WRITE LOCK | +------------+------------------------+------------------------+----------------------+--------------------------------+ | 80 F0 xx xx xx AID of Application (and MAC) | GlobalPlatform | SET STATUS | +------------+------------------------+------------------------+----------------------+--------------------------------+ | A0 F2 00 00 xx | 3GPP TS 11.11 | GET STATUS | | A0 F2 00 00 xx | SAGEM SCT U34 6.2 | GET STATUS | | 80 F2 xx xx | GlobalPlatform | GET STATUS | +------------+------------------------+------------------------+----------------------+--------------------------------+ | 80 F8 xx xx xx | SAGEM SCT U34 8.1.1 | DIR | +------------+------------------------+------------------------+----------------------+--------------------------------+ | A0 FA 00 00 00 | 3GPP TS 11.11 | SLEEP | | A0 FA 00 00 00 | SAGEM SCT U34 6.18 | SLEEP | +------------+------------------------+------------------------+----------------------+--------------------------------+ | 80 FB xx xx xx | SAGEM SCT U34 8.1.1 | DIR | +------------+------------------------+------------------------+----------------------+--------------------------------+ | 80 FC xx xx 10 | SAGEM SCT U34 8.1.3 | READ INFO | +------------+------------------------+------------------------+----------------------+--------------------------------+ | FE | ISO 7816-96.7 | TERMINATE CARD USAGE | | 80 FE xx xx 00 | SAGEM SCT U34 | BLOW FUSE | +------------+------------------------+------------------------+----------------------+--------------------------------+ |
00 A4 00 00 00 response hex :
response SW1SW2 : 6d 00 response ascii : response parsed :
00 A4 04 00 0E 31 50 41 59 2E 53 59 53 2E 44 44 46 30 31 response hex : 6f 20 84 0e 31 50 41 59 2e 53 59 53 2e 44 44 46 30 31 a5 0e 88 01 02 5f 2d 04 6e 6f 65 6e 9f 11 01 01 response SW1SW2 : 90 00 response ascii : o ..1PAY.SYS.DDF01....._-.noen.... response parsed :
6f 20 -- File Control Information (FCI) Template 84 0e -- Dedicated File (DF) Name 31 50 41 59 2e 53 59 53 2e 44 44 46 30 31 (BINARY) a5 0e -- File Control Information (FCI) Proprietary Template 88 01 -- Short File Identifier (SFI) 02 (BINARY) 5f 2d 04 -- Language Preference 6e 6f 65 6e (=noen) 9f 11 01 -- Issuer Code Table Index 01 (NUMERIC)
00 B2 01 14 00 response hex : 70 23 61 21 4f 07 a1 23 45 67 89 10 10 50 04 56 49 53 41 9f 12 0c 56 49 53 41 20 43 6c 61 73 73 69 63 87 01 02 response SW1SW2 : 90 00 response ascii : p#a!O..#Eg...P.VISA...VISA Classic... response parsed :
70 23 -- Record Template (EMV Proprietary) 61 21 -- Application Template 4f 07 -- Application Identifier (AID) - card a1 23 45 67 89 10 10 (BINARY) 50 04 -- Application Label 56 49 53 41 (=VISA) 9f 12 0c -- Application Preferred Name 56 49 53 41 20 43 6c 61 73 73 69 63 (=VISA Classic) 87 01 -- Application Priority Indicator 02 (BINARY)
00 B2 02 14 00 response hex : 70 25 61 23 4f 07 d5 78 00 00 02 10 10 50 09 62 61 6e 6b 61 78 65 70 74 9f 12 09 62 61 6e 6b 61 78 65 70 74 87 01 01 response SW1SW2 : 90 00 response ascii : p%a#O..x.....P.bankaxept...bankaxept... response parsed :
70 25 -- Record Template (EMV Proprietary) 61 23 -- Application Template 4f 07 -- Application Identifier (AID) - card d5 78 00 00 02 10 10 (BINARY) 50 09 -- Application Label 62 61 6e 6b 61 78 65 70 74 (=bankaxept) 9f 12 09 -- Application Preferred Name 62 61 6e 6b 61 78 65 70 74 (=bankaxept) 87 01 -- Application Priority Indicator 01 (BINARY)
00 B2 03 14 00 response hex :
response SW1SW2 : 6a 83 response ascii : response parsed :
00 A4 04 00 07 a1 23 45 67 89 10 10 response hex : 6f 37 84 07 a1 23 45 67 89 10 10 a5 2c 50 04 56 49 53 41 87 01 02 9f 38 06 9f 1a 02 5f 2a 02 5f 2d 04 6e 6f 65 6e 9f 11 01 01 9f 12 0c 56 49 53 41 20 43 6c 61 73 73 69 63 response SW1SW2 : 90 00 response ascii : o7...#Eg....,P.VISA....8....*.-.noen.......VISA Classic response parsed :
6f 37 -- File Control Information (FCI) Template 84 07 -- Dedicated File (DF) Name a1 23 45 67 89 10 10 (BINARY) a5 2c -- File Control Information (FCI) Proprietary Template 50 04 -- Application Label 56 49 53 41 (=VISA) 87 01 -- Application Priority Indicator 02 (BINARY) 9f 38 06 -- Processing Options Data Object List (PDOL) 9f 1a 02 -- Terminal Country Code 5f 2a 02 -- Transaction Currency Code 5f 2d 04 -- Language Preference 6e 6f 65 6e (=noen) 9f 11 01 -- Issuer Code Table Index 01 (NUMERIC) 9f 12 0c -- Application Preferred Name 56 49 53 41 20 43 6c 61 73 73 69 63 (=VISA Classic)
80 A8 00 00 06 83 04 08 26 08 26 response hex : 80 0a 5c 00 08 01 01 00 08 02 05 01 response SW1SW2 : 90 00 response ascii : ........... response parsed :
80 0a -- Response Message Template Format 1 5c 00 08 01 01 00 08 02 05 01 (BINARY)
00 B2 01 0c 00 response hex : 70 4d 9f 1f 18 32 34 39 35 30 30 30 30 30 30 30 30 30 30 30 31 30 31 30 30 30 30 30 30 57 13 54 11 11 88 88 88 88 82 d1 20 32 01 12 34 56 78 90 00 0f 5f 20 1a 53 4d 49 54 48 2f 4a 4f 48 4e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 response SW1SW2 : 90 00 response ascii : pM...249500000000000101000000W.T........ 2..4Vx..._ .SMITH/JOHN
response parsed :
70 4d -- Record Template (EMV Proprietary) 9f 1f 18 -- [Magnetic Stripe] Track 1 Discretionary Data 32 34 39 35 30 30 30 30 30 30 30 30 30 30 30 31 30 31 30 30 30 30 30 30 (=249500000000000101000000) 57 13 -- Track 2 Equivalent Data 54 11 11 88 88 88 88 82 d1 20 32 01 12 34 56 78 90 00 0f (BINARY) 5f 20 1a -- Cardholder Name 53 4d 49 54 48 2f 4a 4f 48 4e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (=SMITH/JOHN )
00 B2 02 0c 00 response hex : 70 50 5f 24 03 12 03 31 5f 25 03 09 02 05 5a 08 54 11 11 88 88 88 88 82 5f 34 01 01 9f 07 02 ff 00 8e 12 00 00 00 00 00 00 00 00 42 01 41 03 5e 03 42 03 1f 00 9f 0d 05 f0 20 24 28 00 9f 0e 05 00 50 80 00 00 9f 0f 05 f0 28 3c f8 00 5f 28 02 05 78 response SW1SW2 : 90 00 response ascii : pP_$...1_%....Z.T.......4.................B.A.^.B....... $(.....P.......(<..(..x response parsed :
70 50 -- Record Template (EMV Proprietary) 5f 24 03 -- Application Expiration Date 12 03 31 (NUMERIC) 5f 25 03 -- Application Effective Date 09 02 05 (NUMERIC) 5a 08 -- Application Primary Account Number (PAN) 54 11 11 88 88 88 88 82 (NUMERIC) 5f 34 01 -- Application Primary Account Number (PAN) Sequence Number 01 (NUMERIC) 9f 07 02 -- Application Usage Control ff 00 (BINARY) 8e 12 -- Cardholder Verification Method (CVM) List 00 00 00 00 00 00 00 00 42 01 41 03 5e 03 42 03 1f 00 (BINARY) 9f 0d 05 -- Issuer Action Code - Default f0 20 24 28 00 (BINARY) 9f 0e 05 -- Issuer Action Code - Denial 00 50 80 00 00 (BINARY) 9f 0f 05 -- Issuer Action Code - Online f0 28 3c f8 00 (BINARY) 5f 28 02 -- Issuer Country Code 05 78 (NUMERIC)
00 B2 03 0c 00 response hex : 70 47 9f 42 02 05 78 9f 44 01 02 9f 08 02 00 8c 8c 15 9f 02 06 9f 03 06 9f 1a 02 95 05 5f 2a 02 9a 03 9c 01 9f 37 04 8d 17 8a 02 9f 02 06 9f 03 06 9f 1a 02 95 05 5f 2a 02 9a 03 9c 01 9f 37 04 5f 30 02 02 01 9f 4a 01 82 response SW1SW2 : 90 00 response ascii : pG.B..x.D....................*......7................*......7._0....J.. response parsed :
70 47 -- Record Template (EMV Proprietary) 9f 42 02 -- Application Currency Code 05 78 (NUMERIC) 9f 44 01 -- Application Currency Exponent 02 (NUMERIC) 9f 08 02 -- Application Version Number - card 00 8c (BINARY) 8c 15 -- Card Risk Management Data Object List 1 (CDOL1) 9f 02 06 -- Amount, Authorised (Numeric) 9f 03 06 -- Amount, Other (Numeric) 9f 1a 02 -- Terminal Country Code 95 05 -- Terminal Verification Results (TVR) 5f 2a 02 -- Transaction Currency Code 9a 03 -- Transaction Date 9c 01 -- Transaction Type 9f 37 04 -- Unpredictable Number 8d 17 -- Card Risk Management Data Object List 2 (CDOL2) 8a 02 -- Authorisation Response Code 9f 02 06 -- Amount, Authorised (Numeric) 9f 03 06 -- Amount, Other (Numeric) 9f 1a 02 -- Terminal Country Code 95 05 -- Terminal Verification Results (TVR) 5f 2a 02 -- Transaction Currency Code 9a 03 -- Transaction Date 9c 01 -- Transaction Type 9f 37 04 -- Unpredictable Number 5f 30 02 -- Service Code 02 01 (NUMERIC) 9f 4a 01 -- Static Data Authentication Tag List 82 (BINARY)
00 B2 04 0c 00 response hex : 70 81 c0 8f 01 07 90 81 90 04 71 93 ac fb 32 3a bb 95 ac e6 c5 b4 69 27 6d b5 93 16 73 cb a2 e0 ee 23 37 9d 02 79 50 b6 c1 c8 4d 59 e9 aa 7a 54 1b 51 06 0b 0b df 51 4f 44 40 10 2b ee e8 4c 38 3a ce 13 b0 72 84 4e 97 a6 5e 0e 69 b1 c8 c5 dc f3 08 b4 26 b8 b3 3d 72 07 ff 29 a7 7d d5 64 46 ae 8d ba b8 d1 b9 ea 6a 32 ab 11 64 e7 35 2c 14 6d 0a 61 e6 de b1 ec 2f 91 25 27 b9 ce df 72 a9 b0 86 3a 9c 45 b4 9a 81 8a f4 69 8c 71 c9 72 d2 eb 25 41 84 5e 4d f8 a3 49 9f 32 01 03 92 24 5b c8 f7 38 4c 06 dc dc 35 97 51 d1 d4 31 52 0d f5 ff 2d 43 47 4a 88 60 3c 9e fc a0 66 6a 1a 42 bd f0 a4 f5 response SW1SW2 : 90 00 response ascii : p.........q...2:......i'm...s....#7..yP...MY..zT.Q....QOD@.+..L8:...r.N..^.i.......&..=r..).}.dF.......j2..d.5,.m.a..../.%'...r...:.E.....i.q.r..%A.^M..I.2...$[..8L...5.Q..1R...-CGJ.] response parsed :
70 81 c0 -- Record Template (EMV Proprietary) 8f 01 -- Certification Authority Public Key Index - card 07 (BINARY) 90 81 90 -- Issuer Public Key Certificate 04 71 93 ac fb 32 3a bb 95 ac e6 c5 b4 69 27 6d b5 93 16 73 cb a2 e0 ee 23 37 9d 02 79 50 b6 c1 c8 4d 59 e9 aa 7a 54 1b 51 06 0b 0b df 51 4f 44 40 10 2b ee e8 4c 38 3a ce 13 b0 72 84 4e 97 a6 5e 0e 69 b1 c8 c5 dc f3 08 b4 26 b8 b3 3d 72 07 ff 29 a7 7d d5 64 46 ae 8d ba b8 d1 b9 ea 6a 32 ab 11 64 e7 35 2c 14 6d 0a 61 e6 de b1 ec 2f 91 25 27 b9 ce df 72 a9 b0 86 3a 9c 45 b4 9a 81 8a f4 69 8c 71 c9 72 d2 eb 25 41 84 5e 4d f8 a3 49 (BINARY) 9f 32 01 -- Issuer Public Key Exponent 03 (BINARY) 92 24 -- Issuer Public Key Remainder 5b c8 f7 38 4c 06 dc dc 35 97 51 d1 d4 31 52 0d f5 ff 2d 43 47 4a 88 60 3c 9e fc a0 66 6a 1a 42 bd f0 a4 f5 (BINARY)
00 B2 05 0c 00 response hex : 70 81 93 93 81 90 41 7c 43 3e 07 08 e7 14 4e ce c1 d3 6b bf 44 09 2e fe 27 3d aa 24 cb 34 c3 77 9e 4f 29 e7 7f 59 10 a9 c5 7e 0c bb e3 73 81 93 b3 51 f5 e4 66 18 75 1f 0a 5f fb 59 c7 76 1f f1 28 8d dd ac a8 86 9b 61 14 b0 5c 6b 79 e4 d3 2b 97 95 c7 b4 ea e4 62 17 1b 05 90 7d 67 09 03 4e 58 26 aa 97 a8 d8 ab 71 c5 70 a5 8d 4a 4a f0 a5 a7 06 5e 7a 22 ec 9b d3 a0 06 f2 4d 29 40 9c 22 88 87 c8 14 2a f1 37 da d9 f8 3c 64 96 32 ce ab 8b 3c 1c d1 eb 58 response SW1SW2 : 90 00 response ascii : p.....A|C>....N...k.D...'=.$.4.w.O)..Y...~...s...Q..f.u.._.Y.v..(......a..ky..+......b....}g..NX&.....q.p..JJ....^z"......M)@."....*.7...
70 81 93 -- Record Template (EMV Proprietary) 93 81 90 -- Signed Static Application Data 41 7c 43 3e 07 08 e7 14 4e ce c1 d3 6b bf 44 09 2e fe 27 3d aa 24 cb 34 c3 77 9e 4f 29 e7 7f 59 10 a9 c5 7e 0c bb e3 73 81 93 b3 51 f5 e4 66 18 75 1f 0a 5f fb 59 c7 76 1f f1 28 8d dd ac a8 86 9b 61 14 b0 5c 6b 79 e4 d3 2b 97 95 c7 b4 ea e4 62 17 1b 05 90 7d 67 09 03 4e 58 26 aa 97 a8 d8 ab 71 c5 70 a5 8d 4a 4a f0 a5 a7 06 5e 7a 22 ec 9b d3 a0 06 f2 4d 29 40 9c 22 88 87 c8 14 2a f1 37 da d9 f8 3c 64 96 32 ce ab 8b 3c 1c d1 eb 58 (BINARY)
80 CA 9F 36 00 response hex : 9f 36 02 00 79 response SW1SW2 : 90 00 response ascii : .6..y response parsed :
9f 36 02 -- Application Transaction Counter (ATC) 00 79 (BINARY)
80 CA 9F 13 00 response hex : 9f 13 02 00 67 response SW1SW2 : 90 00 response ascii : ....g response parsed :
9f 13 02 -- Last Online Application Transaction Counter (ATC) Register 00 67 (BINARY)
80 CA 9F 17 00 response hex : 9f 17 01 03 response SW1SW2 : 90 00 response ascii : .... response parsed :
9f 17 01 -- Personal Identification Number (PIN) Try Counter 03 (BINARY)
80 CA 9F 4F 00 response hex :
response SW1SW2 : 6a 81 response ascii : response parsed :
00 20 00 80 08 24 12 34 ff ff ff ff ff response hex :
response SW1SW2 : 90 00 response ascii : response parsed :
00 A4 04 00 07 d5 78 00 00 02 10 10 response hex : 6f 2e 84 07 d5 78 00 00 02 10 10 a5 23 50 09 62 61 6e 6b 61 78 65 70 74 87 01 01 5f 2d 02 6e 6f 9f 11 01 01 9f 12 09 62 61 6e 6b 61 78 65 70 74 response SW1SW2 : 90 00 response ascii : o....x......#P.bankaxept..._-.no.......bankaxept response parsed :
6f 2e -- File Control Information (FCI) Template 84 07 -- Dedicated File (DF) Name d5 78 00 00 02 10 10 (BINARY) a5 23 -- File Control Information (FCI) Proprietary Template 50 09 -- Application Label 62 61 6e 6b 61 78 65 70 74 (=bankaxept) 87 01 -- Application Priority Indicator 01 (BINARY) 5f 2d 02 -- Language Preference 6e 6f (=no) 9f 11 01 -- Issuer Code Table Index 01 (NUMERIC) 9f 12 09 -- Application Preferred Name 62 61 6e 6b 61 78 65 70 74 (=bankaxept)
80 A8 00 00 02 83 00 response hex : 80 06 18 00 08 01 01 00 response SW1SW2 : 90 00 response ascii : ........ response parsed :
80 06 -- Response Message Template Format 1 18 00 08 01 01 00 (BINARY)
00 B2 01 0c 00 response hex : 70 6e 5a 09 95 78 52 64 12 34 56 78 90 5f 34 01 02 5f 24 03 12 03 29 57 13 95 78 52 64 12 34 56 78 90 d1 20 36 01 12 34 56 78 90 0f 8c 15 9f 02 06 9f 03 06 9f 1a 02 95 05 5f 2a 02 9a 03 9c 01 9f 37 04 8d 17 8a 02 9f 02 06 9f 03 06 9f 1a 02 95 05 5f 2a 02 9a 03 9c 01 9f 37 04 8e 0a 00 00 00 00 00 00 00 00 02 00 9f 0d 05 b0 40 04 88 00 response SW1SW2 : 90 00 response ascii : pnZ..xRd.4Vx.4..$...)W..xRd.4Vx.. 6..4Vx...............*......7................*......7.................@... response parsed :
70 6e -- Record Template (EMV Proprietary) 5a 09 -- Application Primary Account Number (PAN) 95 78 52 64 12 34 56 78 90 (NUMERIC) 5f 34 01 -- Application Primary Account Number (PAN) Sequence Number 02 (NUMERIC) 5f 24 03 -- Application Expiration Date 12 03 29 (NUMERIC) 57 13 -- Track 2 Equivalent Data 95 78 52 64 12 34 56 78 90 d1 20 36 01 12 34 56 78 90 0f (BINARY) 8c 15 -- Card Risk Management Data Object List 1 (CDOL1) 9f 02 06 -- Amount, Authorised (Numeric) 9f 03 06 -- Amount, Other (Numeric) 9f 1a 02 -- Terminal Country Code 95 05 -- Terminal Verification Results (TVR) 5f 2a 02 -- Transaction Currency Code 9a 03 -- Transaction Date 9c 01 -- Transaction Type 9f 37 04 -- Unpredictable Number 8d 17 -- Card Risk Management Data Object List 2 (CDOL2) 8a 02 -- Authorisation Response Code 9f 02 06 -- Amount, Authorised (Numeric) 9f 03 06 -- Amount, Other (Numeric) 9f 1a 02 -- Terminal Country Code 95 05 -- Terminal Verification Results (TVR) 5f 2a 02 -- Transaction Currency Code 9a 03 -- Transaction Date 9c 01 -- Transaction Type 9f 37 04 -- Unpredictable Number 8e 0a -- Cardholder Verification Method (CVM) List 00 00 00 00 00 00 00 00 02 00 (BINARY) 9f 0d 05 -- Issuer Action Code - Default b0 40 04 88 00 (BINARY)
80 CA 9F 36 00 response hex : 9f 36 02 01 73 response SW1SW2 : 90 00 response ascii : .6..s response parsed :
9f 36 02 -- Application Transaction Counter (ATC) 01 73 (BINARY)
80 CA 9F 13 00 response hex : 9f 13 02 01 72 response SW1SW2 : 90 00 response ascii : ....r response parsed :
9f 13 02 -- Last Online Application Transaction Counter (ATC) Register 01 72 (BINARY)
80 CA 9F 17 00 response hex : 9f 17 01 03 response SW1SW2 : 90 00 response ascii : .... response parsed :
9f 17 01 -- Personal Identification Number (PIN) Try Counter 03 (BINARY)
80 CA 9F 4F 00 response hex :
response SW1SW2 : 6a 81 response ascii : response parsed :
======================================
Answer To Reset (ATR) 3b 67 00 00 a6 40 40 00 09 90 00 Description From Public Database - [Visa card issued by Norway bank DNBNor, VISA Classic - Landkreditt Bank (Norway), VISA Classic - Nordea Bank (Norway)] ISO Compliant Answer To Reset (ATR) Convention - DIRECT Protocol - T=0 Historical bytes - a6 40 40 00 09 90 00
Directory Definition File Name: 315041592e5359532e4444463031 (=1PAY.SYS.DDF01) Issuer Code Table Index: 1 (ISO-8859-1) Short File Identifier: 2 (Governed by the EMV specification) Language Preference (in order of preference): Language: no (Norwegian) Language: en (English)
Applications (2 found):
Application
AID: a1 23 45 67 89 10 10
Label: VISA
Preferred Name: VISA Classic
Application Effective Date: Thu Feb 05 00:00:00 CET 2009
Application Expiration Date: Sat Mar 31 00:00:00 CEST 2012
Application Version Number: 140
Application Currency Code (ISO 4217): 578 (NOK Norwegian Krone)
Application Currency Exponent: 2 (Position of the decimal point from the right)
Issuer Country Code (ISO 3166-1): 578 (Norway)
Application Transaction Counter (ATC): 121
Last Online ATC Register: 103
PIN Try Counter: 3 (Number of PIN tries remaining)
Cardholder Name: SMITH/JOHN
Primary Account Number (PAN) - 5411118888888882
Major Industry Identifier = 5 (Banking and financial)
Issuer Identifier Number: 541111
Account Number: 888888888
Check Digit: 2 (Valid)
PAN Sequence Number: 1
Application Priority Indicator
May be selected without cardholder confirmation
Selection Priority: 2
Application Interchange Profile
Static Data Authentication (SDA) supported
Dynamic Data Authentication (DDA) not supported
Cardholder verification is supported
Terminal risk management is to be performed
Issuer authentication is supported
CDA not supported
Application File Locator
Application Elementary File
Short File Identifier:
1 (Governed by the EMV specification)
Start Record: 1
End Record: 1
Number of Records Involved In Offline Data Authentication: 0
Record: 1
Length: 79
Involved In Offline Data Authentication: false
Application Elementary File
Short File Identifier:
1 (Governed by the EMV specification)
Start Record: 2
End Record: 5
Number of Records Involved In Offline Data Authentication: 1
Record: 2
Length: 82
Involved In Offline Data Authentication: true
Record: 3
Length: 73
Involved In Offline Data Authentication: false
Record: 4
Length: 195
Involved In Offline Data Authentication: false
Record: 5
Length: 150
Involved In Offline Data Authentication: false
Application Usage Control
Valid for domestic cash transactions
Valid for international cash transactions
Valid for domestic goods
Valid for international goods
Valid for domestic services
Valid for international services
Valid at ATMs
Valid at terminals other than ATMs
Domestic cashback not allowed
International cashback not allowed
Processing Options Data Object List
Terminal Country Code (2 bytes)
Transaction Currency Code (2 bytes)
Issuer Public Key Certificate
Issuer Identifier: 492564
CA Public Key Index: 7
Certificate Format: 2
Certificate Expiration Date (MMYY): 1214
Certificate Serial Number: 00e16d (57709)
Hash Algorithm Indicator: 1 (=SHA-1)
Issuer Public Key Algorithm Indicator: 1 (=RSA)
Hash: b6819d8d5af4034214973edbad1bd2866a550dbb
Issuer Public Key
Length: 1152bit
Exponent:
03
Modulus:
ba 53 3e b8 ec c9 f9 b8 b2 a3 5e ed 3b e0 3f 7d
3a cf e2 46 a3 4c 8e 75 f5 c7 4a 64 e6 5c 97 cb
4f 2f ab 97 09 cf 7e 12 89 0e af f1 8a 4f cf b4
fa 98 18 db c3 be 5f dc 65 91 54 46 cb 86 24 ac
2d 1e 07 72 f2 52 49 02 f9 8b a5 5b 4b 4b 11 00
1e 4e cf b7 0f 12 19 a3 97 12 98 e7 ed c5 b9 2b
8d 44 c9 80 e2 f6 8f 90 8f 9d ad 78 5b c8 f7 38
4c 06 dc dc 35 97 51 d1 d4 31 52 0d f5 ff 2d 43
47 4a 88 60 3c 9e fc a0 66 6a 1a 42 bd f0 a4 f5
Card Risk Management Data Object List 1
Amount, Authorised (Numeric) (6 bytes)
Amount, Other (Numeric) (6 bytes)
Terminal Country Code (2 bytes)
Terminal Verification Results (TVR) (5 bytes)
Transaction Currency Code (2 bytes)
Transaction Date (3 bytes)
Transaction Type (1 byte)
Unpredictable Number (4 bytes)
Card Risk Management Data Object List 2
Authorisation Response Code (2 bytes)
Amount, Authorised (Numeric) (6 bytes)
Amount, Other (Numeric) (6 bytes)
Terminal Country Code (2 bytes)
Terminal Verification Results (TVR) (5 bytes)
Transaction Currency Code (2 bytes)
Transaction Date (3 bytes)
Transaction Type (1 byte)
Unpredictable Number (4 bytes)
Signed Static Application Data
Hash Algorithm Indicator: 1 (=SHA-1)
Data Authentication Code: 0123
Hash: 74159900848ab829b9f0318950cdad9351e0bfdf
Cardholder Verification Method (CVM) List:
Cardholder Verification Rule
Rule: Enciphered PIN verified online
Condition Code: If unattended cash
Apply succeeding CV Rule if this CVM is unsuccessful
Cardholder Verification Rule
Rule: Plaintext PIN verification performed by ICC
Condition Code: If terminal supports the CVM
Apply succeeding CV Rule if this CVM is unsuccessful
Cardholder Verification Rule
Rule: If transaction is in the application currency and is under 0.00 value
Condition Code: If terminal supports the CVM
Apply succeeding CV Rule if this CVM is unsuccessful
Cardholder Verification Rule
Rule: Enciphered PIN verified online
Condition Code: If terminal supports the CVM
Apply succeeding CV Rule if this CVM is unsuccessful
Cardholder Verification Rule
Rule: If transaction is in the application currency and is over 0.00 value
Condition Code: Always
Fail cardholder verification if this CVM is unsuccessful
Static Data Authentication Tag List
Application Interchange Profile
Track 1 Discretionary Data:
323439353030303030303030303030313031303030303030 (ASCII: 249500000000000101000000)
Track 2 Equivalent Data:
Primary Account Number (PAN) - 5411118888888882
Major Industry Identifier = 5 (Banking and financial)
Issuer Identifier Number: 541111
Account Number: 888888888
Check Digit: 2 (Valid)
Expiration Date: Wed Feb 29 00:00:00 CET 2012
Service Code: 201
Discretionary Data: 1234567890000
Service Code: 201
Language Preference (in order of preference):
Language: no (Norwegian)
Language: en (English)
Issuer Code Table Index: 1 (ISO-8859-1)
Issuer Action Code - Default:
11110000
00100000
00100100
00101000
00000000
Issuer Action Code - Denial:
00000000
01010000
10000000
00000000
00000000
Issuer Action Code - Online:
11110000
00101000
00111100
11111000
00000000
Application
AID: d5 78 00 00 02 10 10
Label: bankaxept
Preferred Name: bankaxept
Application Expiration Date: Thu Mar 29 00:00:00 CEST 2012
Application Transaction Counter (ATC): 115
Last Online ATC Register: 114
PIN Try Counter: 3 (Number of PIN tries remaining)
Primary Account Number (PAN) - 957852641234567890
Major Industry Identifier = 9 (For assignment by national standards bodies)
Country Code (ISO 3166-1): 578 (=Norway)
Issuer Identifier Number: 957852
Account Number: 64123456789
Check Digit: 0 (Valid)
PAN Sequence Number: 2
Application Priority Indicator
May be selected without cardholder confirmation
Selection Priority: 1
Application Interchange Profile
Static Data Authentication (SDA) not supported
Dynamic Data Authentication (DDA) not supported
Cardholder verification is supported
Terminal risk management is to be performed
Issuer authentication is not supported
CDA not supported
Application File Locator
Application Elementary File
Short File Identifier:
1 (Governed by the EMV specification)
Start Record: 1
End Record: 1
Number of Records Involved In Offline Data Authentication: 0
Record: 1
Length: 112
Involved In Offline Data Authentication: false
Card Risk Management Data Object List 1
Amount, Authorised (Numeric) (6 bytes)
Amount, Other (Numeric) (6 bytes)
Terminal Country Code (2 bytes)
Terminal Verification Results (TVR) (5 bytes)
Transaction Currency Code (2 bytes)
Transaction Date (3 bytes)
Transaction Type (1 byte)
Unpredictable Number (4 bytes)
Card Risk Management Data Object List 2
Authorisation Response Code (2 bytes)
Amount, Authorised (Numeric) (6 bytes)
Amount, Other (Numeric) (6 bytes)
Terminal Country Code (2 bytes)
Terminal Verification Results (TVR) (5 bytes)
Transaction Currency Code (2 bytes)
Transaction Date (3 bytes)
Transaction Type (1 byte)
Unpredictable Number (4 bytes)
Cardholder Verification Method (CVM) List:
Cardholder Verification Rule
Rule: Enciphered PIN verified online
Condition Code: Always
Fail cardholder verification if this CVM is unsuccessful
Track 2 Equivalent Data:
Primary Account Number (PAN) - 957852641234567890
Major Industry Identifier = 9 (For assignment by national standards bodies)
Country Code (ISO 3166-1): 578 (=Norway)
Issuer Identifier Number: 957852
Account Number: 64123456789
Check Digit: 0 (Valid)
Expiration Date: Wed Feb 29 00:00:00 CET 2012
Service Code: 601
Discretionary Data: 12345678900
Language Preference (in order of preference):
Language: no (Norwegian)
Issuer Code Table Index: 1 (ISO-8859-1)
Issuer Action Code - Default:
10110000
01000000
00000100
10001000
00000000
Today was a hard day for me, even if it was Sunday...but anyway I want to start a new very interesting topic about one standard, which is actually playing very important role in a world of Payment application, its name is EMV.
Everyone today has his own banking card, and this is easy way to get the access to your bank account and as a consequence to your money. Whatever you do, going to buy something, to get some cash or to pay for your mobile phone, each time you take your card from your wallet and starting from this moment you oblige to follow some rules in order make a correct payment. To be precisely, it is not you personally, this is your banking card which should be complained to EMVco standard. Let's imagine you insert your card to the reader of ATM or POS terminal and from this moment magic is takes a control on your bank account. Interesting, is not it? Let's see what is going on between your card and ATM or terminal.
First of all, I will give you some useful links about related topics, which I hope will help you to understand the process of data exchange between smart card and terminal and also helps to read this topic.
Let’s start to see what is going on between card and terminal. I need to say here, first we will speak about contact interface.About contactless interface I will describe later on.
Part I. EMV transaction via Contact Interface.
When the card inserted in to terminal, it is going to be powered and reset. Card must provide Acknowledge-To-Reset (ATR) and then will wait for incoming commands.
This is a common part which is not directly related to EMV transaction. More information about ATR you will find in ISO7816 part 3. So, now let’s have a look from EMV standard point of view.
The next step is to choose and select target application. Depending on what type of card you have (Visa, MasterCard, etc...), different payment schemes will apply during EMV transaction.
There are two approaches can be used to determine which application is going to be used:
Approach 1: Using PSE
PSE is Payment System Environment which contains, roughly speaking language preference, list of applications and their priority in which they must be executed. It is not mandatory for all cards to support PSE.
Terminal select PSE using SELECT command with filename 1PAY.SYS.DDF01. If there is no PSE, card should return “6A82”, which means “file not found”. If card returns “9000”, terminal proceeds to the next step by processing response from card. The response on the SELECT command for PSE contains FCI data object, which should looks according EMV Book 1 like:
Tag |
Value |
Presence |
|||
6F |
FCI Template |
M |
|||
|
84 |
DF Name |
M |
||
A5 |
FCI Proprietary Template |
M |
|||
|
88 |
SFI of the Directory Elementary File |
M |
||
5F2D |
Language Preference |
O |
|||
9F11 |
Issuer Code Table Index |
O |
|||
BF0C |
FCI Issuer Discretionary Data |
O |
|||
|
XXXX -Tag according EMV Book3, Annex B |
1 or more additional proprietary data elements from an application provider, issuer, or IC card supplier, or EMV-defined tags that are specifically allocated to 'BF0C' |
O |
Response on SELECT command for PSE
So now terminal knows the SFI of payment system directory to read. By sendin
BIN List & Range for MasterCard, Visa, Amex, Diners, Discover, JCB, CUP
149385 views
Read smart card chip data with APDU commands ISO 7816
59860 views
ISO8583 Response Codes for Transaction processing
55922 views
ISO8583 Message Types for Transaction Processing
28219 views
ISO8583 Processing Codes for Transaction Processing
27811 views
Run the neaPay ISO8583 simulator
19843 views
Deploy, run and generate with neaPay Card Data Generator
19738 views
MCC Codes - Merchant Category Codes to use in ISO8583 Field 18
18676 views
ISO8583 payments message format, programmers guide
17478 views
ISO8583 message: The list of ISO 4217 currency codes for data elements 49 and 52
15952 views
ISO8583 Message Converter JSON and XML interface specification mapping
12879 views
Cards and Banks Training
12461 views
Support for the neaPay products: Authorization, Switch, Converter, Simulator, Issuer
9149 views
Log Files in BASE24 classic
8950 views
Create a new test case in the neaPay ISO8583 simulator Video guide
8577 views
Java version for neapay products Simulator Converter Switch Authorization Cards Issuer
8154 views
Deploy the neaPay ISO8583 simulator - video guide
8119 views
BASE24 classic vs BASE24-eps
7905 views
BASE24 documentation to read
7839 views
BASE24 classic interview questions
7688 views
Performance testing at 500, 1000 and 1500 TPS
7551 views
EMV explained for programmers
7351 views
ISO8583 converter to JSON XML SQL to HTTP host - message flow - video guide - Part.2
7102 views
ISO8583 ATM POS Crypto API integration with exchanges like Coinbase or Binance
6780 views
Adding your own card to the Payments simulator to test your system
6597 views
ISO8583 converter to JSON XML SQL to HTTP Host - host unavailable - video guide- Part.3
6530 views
Card readers supported by neaPay payments simulator, CHIP and NFC
6519 views
Connect the neaPay ISO8583 Acquirer simulator to your own host or Issuer
6511 views
ISO8583 converter to JSON XML SQL to HTTP host - start& run - video guide - Part.1
6491 views
Run the neaPay ISO8583 converter to JSON, XML, SQL, in a test environment
6372 views
Load Test enabling and performance testing at 1TPS and 100TPS
6357 views
Changing fields definitions in the ISO8583 simulator and message converter
6349 views
Altering test cases in Excel for the ISO8583 simulator
6347 views
Deploy the neaPay ISO8583 Payments converter in a test environment
6342 views
Sample Recommended design for an Acquirer test cases suite, Scenarios and Regression
6341 views
How the fingerprint reader works in the ISO8583 payments simulator
6341 views
Run One, Run Scenario, Run All, Run Load in the neaPay ISO8583 Simulator - Use guide
6339 views
Enabling traces in the payments simulator
6338 views
BASE24 classic screens examples explained
6335 views
Regression Testing in 1 click with instant Analytics and CSV report
6207 views
Deploy the neaPay HSM simulator in a test environment
6064 views
BASE24-eps interview questions
6015 views
Deploy the Payments Switch Router in a test environment
5922 views
BASE24 classic ATM configuration Tutorial in ATD and XPNET with examples
5670 views
Add extra custom fields to the ISO8583 simulator
5503 views
BASE24 classic cards configuration tutorial with Examples
5319 views
PCI compliant with neapay switch
5102 views
BASE24-EPS ACI DESKTOP tutorial - Getting started
4915 views
ISO8583 Message Converter to XML SQL CSV interface specification mapping
4755 views
Trace configuration in neaPay Simulator, Converter, Switch, Authorization and Cards Issuer
4549 views
BASE24 classic prefix configuration tutorial CPF with examples
3656 views
BASE24 classic tracing of transactions. Audits, configuration, enabling and opening
3550 views
ACI BASE24 classic automatic extract configuration
3378 views
BASE24 classic Institution configuration Tutorial with example
3226 views
BASE24 classic balance file configuration PBF with example
3187 views
First steps with BASE24 Classic
2959 views
Getting started with using Prognosis for BASE24 and BASE24-eps
2723 views
POS simulator format SPDH HPDH Verifone and custom
2514 views