]> git.zerfleddert.de Git - proxmark3-svn/blob - armsrc/emvdataels.h
FIX: lf hitag : Mea culpa, simulation should not have reader_field on. thanks to...
[proxmark3-svn] / armsrc / emvdataels.h
1 //Data elements for EMV transactions.
2 #ifndef __EMVDATAELS_H
3 #define __EMVDATAELS_H
4
5 #include <stdint.h>
6
7 //Known AIDs
8 typedef struct {
9 uint8_t tag[2];
10 char description[255];
11 } __attribute__((__packed__)) tagdescription_t;
12
13 //Known AIDs
14 extern const uint8_t AID_VISA[5];
15 extern const uint8_t AID_VISA_DB[7];
16 extern const uint8_t AID_VISA_C[8];
17 extern const uint8_t AID_VISA_D[8];
18 extern const uint8_t AID_VISA_E[7];
19 extern const uint8_t AID_VISA_I[7];
20 extern const uint8_t AID_VISA_P[7];
21 extern const uint8_t AID_VISA_ATM[8];
22 extern const uint8_t AID_MASTERCARD[7];
23 extern const uint8_t AID_MAESTRO[7];
24 extern const uint8_t AID_MAESTRO_UK[7];
25 extern const uint8_t AID_MAESTRO_TEST[5];
26 extern const uint8_t AID_SELF_SERVICE[6];
27 extern const uint8_t AID_AMEX[5];
28 extern const uint8_t AID_EXPRESSPAY[8];
29 extern const uint8_t AID_LINK[7];
30 extern const uint8_t AID_ALIAS[7];
31
32 //Master data file for PSE
33 extern const uint8_t DF_PSE[14];
34 extern const uint8_t SW1_RESPONSE_BYTES[1];
35 extern const uint8_t SW1_WRONG_LENGTH[1];
36 extern const uint8_t SW12_OK[2];
37 extern const uint8_t SW12_NOT_SUPPORTED[2];
38 extern const uint8_t SW12_NOT_FOUND[2];
39 extern const uint8_t SW12_COND_NOT_SAT[2];
40 extern const uint8_t PIN_BLOCKED[2];
41 extern const uint8_t PIN_BLOCKED2[2];
42 extern const uint8_t PIN_WRONG[1];
43
44 extern const tagdescription_t EMV_TAG_LIST[62]; //SW1 return values
45
46 //AIP bitmasks details
47 #define AIP_CHIP_SUPPORTED 0x80
48 #define AIP_MSR_SUPPORTED 0x40
49
50 #define AIP_SDA_SUPPORTED 0x40
51 #define AIP_DDA_SUPPORTED 0x20
52 #define AIP_CARDHOLDER_VERIFICATION 0x10
53 #define AIP_TERMINAL_RISK 0x08
54 #define AIP_ISSUER_AUTH 0x04
55 #define AIP_CDA_SUPPORTED 0x01
56
57 //human readable error messages
58 //file structure, read from AFL
59 #endif //__EMVDATAELS_H
Impressum, Datenschutz