Configuration
EMV Level 2 configurations relates to EMV Level 2 functional data models defined by brands' specifications. All kernels use a set of common parameters (i.e. tags) inherited from EMVCo. However, all of them require specific parameters to implement specific behaviors. And in some case, there are parameters that are not defined. This section presents for each kernel the set of information needed to configure the card processing properly.
Info
All the parameters used to implement kernels are defined in kernels' tag.c file.
Note
Contactless configurations are made of the following components:
- Combinations
- CAKeys
- Revocated certifcates
Use glase API to push each component.
A Combination is defined from template 0xE1 containing: - Tag 0xDF810C (kernel id) - Tag 0x9F06 (application identifier) - Tag 0x9C (transaction type) - Tag 0xDFA010 (application selection indicator) - Tag 0xE2 (combination containing all configuration tags)
A CA Key is defined from a single tag having a unique length: - Tag 0xDFA023 (ca key) with a length of 290 bytes
Tag DFA023's value is a serialisation of the following structure:
typedef struct moka_hsm_capk {
// A RID on 5 bytes is used as primary key. Excluded from serialization
uint8_t index;
uint8_t hash_indicator;
uint8_t algorithm_indicator;
uint8_t modulus_length[2];
uint8_t modulus[256]; // Padded with zeros if shorter
uint8_t exponent_length;
uint8_t exponent[3];
uint8_t hash[20];
} moka_hsm_capk_t;
A Revocated certificate is defined from a single tag having a unique length : - Tag 0xDFA024 (revocated certificate) with a length of 9 bytes
Tag DFA024's value is a serialisation of the following structure:
| Example of a Combination |
|---|
| E1 81 B9 DF 81 0C 01 02 9F 06 07 A0 00 00 00 04 10 10 9C 01 00 DF A0 10 01 01 E2 81 9F 9F 01 00 9F 09 02 00 02 9F 15 02 11 22 9F 16 00 9F 1A 02 00 56 9F 1C 00 9F 1D 08 6C FF 00 00 00 00 00 00 9F 1E 08 01 02 03 04 05 06 07 08 9F 33 00 9F 35 01 22 9F 40 05 00 00 00 00 00 9F 4E 00 9F 7E 00 DF 81 1B 01 20 DF 81 20 05 00 00 00 00 00 DF 81 21 05 00 00 00 00 00 DF 81 22 05 00 00 00 00 00 DF 81 23 06 00 00 00 01 00 00 DF 81 24 06 00 00 00 03 00 00 DF 81 25 06 00 00 00 05 00 00 DF 81 26 06 00 00 00 00 10 00 DF 81 17 01 00 DF 81 18 01 60 DF 81 19 01 08 DF 81 1F 01 08 |
| Example of a CAKey |
|---|
| DF A0 23 82 01 22 A0 00 00 00 25 01 00 00 00 80 A2 0D AA D5 D5 F6 2E 40 85 25 21 DC 9D 5A B9 F8 7C 61 08 88 A3 23 67 60 1E 27 31 1D 6D 3D FB 5B B6 14 2D B4 00 46 51 A0 9C 8B 3E D2 29 A9 72 00 B3 83 68 9A FB 2E 55 A3 F0 C1 6D 03 3A 60 A1 43 8C 7C 5D 08 E4 96 7D 29 53 30 1D 32 DF E0 79 99 03 9F FE 12 20 24 91 CE EF CC 4D 01 4A F2 A3 85 B3 EA E2 AD A0 13 4A 76 42 B5 13 A7 33 08 79 F4 60 35 E2 0F 27 57 8D 23 3E CF 35 E6 CE 9B 17 D9 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
| Example of a CAKey |
|---|
| DF A0 24 09 A0 00 00 00 25 01 00 10 00 |
Mastercard Combination
All tags required for Mastercard are defined by the network's documentation. There are no moka proprietary tags used. See Acquirer's documentation to configure moka.
Visa Combination
To be completed.
American Express Combination
All tags required for Amex are defined by the network's documentation. See Acquirer's documentation to configure moka. The following moka proprietary tags are required to fill missing definitions.
| Tag | Description |
|---|---|
| 0x9F820B | TAC Denial |
| 0x9F820C | TAC Online |
| 0x9F820D | Contactless floor limit |
| 0x9F820E | CVM required limit |
| 0xDF8120 | TAC Default |
| 0xDFA020 | Contactless transaction limit |
DiscoverCombination
All tags required for Amex are defined by the network's documentation. See Acquirer's documentation to configure moka. The following moka proprietary tags are required to fill missing definitions.
| Tag | Description |
|---|---|
| 0x9F8203 | Tags to read (use for exception file management) |
| 0x9F820B | TAC Denial |
| 0x9F820C | TAC Online |
| 0x9F820D | Contactless floor limit |
| 0x9F820E | CVM required limit |
| 0xDF8120 | TAC Default |
| 0xDFA014 | Status check support flag |
| 0xDFA017 | Extended selection support flag |
| 0xDFA020 | Contactless transaction limit |
| 0xDFA03E | Tearing recovery support |
CPACE Combination
To be completed.
Rupay Combination
To be completed.