TLV is a new format supported from Agnos Framework version 3.1.x
RAW is the Agnos Framework's legacy format
TLV Format
TLV ENTRY_POINT is a TLV file starting by a header and followed by a set of TLV.
TLV ENTRY_POINT | ||
---|---|---|
Header (21 bytes) | ||
Field | Length | Description |
Version | 1 byte | Value between 0xAA and 0xAF |
SHA-1 | 20 bytes | SHA calculation on the following data |
Body (variable) | ||
Tag | Length | Value |
variable | Entry point delimiter. FF35 length is equal to the length of the following TLV | |
3 | Byte1 = kernel id; Byte2 = contactless AID id; Byte3 = transaction type id | |
variable | TLV Data Object |
RAW Format
RAW ENTRY_POINT is a (1 + NumberOfCombination x 408) byte long binary file followed by a 20 byte long SHA-1 calculation for integrity purposes.
RAW ENTRY_POINT | |||
---|---|---|---|
Header (1 byte) | |||
Field | Format | Description | Comment |
NumberOfCombination | unsigned char | Number of combinations in the file | A combination is an entry point context for a given KAT |
Body (NumberOfCombination x 408 bytes) | |||
Field | Format | Description | Comment |
KernelId | unsigned char | As per payment networks | – |
AIDId | unsigned char | AID order number in PROCESSING | – |
transactionType | unsigned char | As per Agnos Framework enumeration | – |
DataObjectLen | unsigned char[2] | Data object length used to configure a contactless kernel's combination | – |
DataObject | unsigned char | TLV stream used to set a kernel's context | BER TLV encoding |
NumberOfDRLSet | unsigned char | Not supported | If sef to 0xFF, subsequent DRL bytes are not included in the file. Hence, block size is 257 instead of 408 |
DRL | unsigned char[152] | Not supported | – |
Trailer (20 bytes) | |||
Field | Format | Description | Comment |
SHA-1 | unsigned char[20] | Integrity trailer | Performed on 11 + (NumberOfCombination x 408) previous bytes |