This function randomly extracts a list of question indexes and their matching answer hashes from a QA BLOB. The number of extracted indexes is the security level.
Parameters
Table: Parameters (AAL2QAGenQAHashData)
Type
Name
Use
Description
aat_ascii *
QABlob
I
BLOB resulting from the formatted answer hash, 358+1 characters, null-terminated containing:
User ID: 32 chars
BLOB version: 02 chars
Hash number: 02 chars
|Index |02 chars
|Hash |30 chars
Checksum: 16 chars
aat_int32
SecurityLevel
I
Number of indexes and hashes to extract from the BLOB.
aat_ascii *
aQAIndexList
O
List of randomly chosen question indexes. The number of indexes in the list is determined by the security level. Each index is on two characters. The list is null-terminated. With a security level of 3, the list will be ((3*2) +1) long (recommended buffer size is 21 bytes).
aat_ascii *
aQAHashData
O
List of matching answer hashes. The number of hashes in the list is determined by the security level. Each hash is on 30 characters. The list is null-terminated. With a security level of 3, the list will be ((3*30) +1) long (recommended buffer size is 321 bytes).
Return codes
Table: Return codes (AAL2QAGenQAHashData)
Code
Meaning
Code
Meaning
0
Success
541
Invalid index list
412
Invalid checksum
542
Invalid hash list
530
Invalid QA data pointer
1000
Function does not support EMV-CAP
531
Invalid QA security level
1118
Unsupported BLOB
532
Invalid QA data length
-1501
Memory allocation failed
535
Invalid QA number
Cet article vous a-t-il été utile ?
Merci pour vos commentaires! Notre équipe vous répondra