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:

typedef struct moka_hsm_revocated_certificate {
    // A RID on 5 bytes is used as primary key. Excluded from serialization
    uint8_t index;
    uint8_t serial_number[3];
} moka_hsm_revocated_certificate_t;
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.