Function prototype
aat_int32 AAL2GenerateChallengeEx (
TDigipassBlob* DPData,
TKernelParms* CallParms,
aat_ascii* Challenge,
aat_int32* ChallengeLength,
aat_ascii* ChallengeMessage);
Description
This function is an extension of AAL2GenerateChallenge. The functionality is identical except for the additional feature of formatting the challenge in a standard message format accepted by Digipass client components. The standard format is TOKEN-TYPE: [CHALLENGE], where TOKEN-TYPE is an expression of the physical Digipass model, and CHALLENGE is the generated challenge as given by Challenge.
Parameters
Table: Parameters (AAL2GenerateChallengeEx) | Type | Name | Use | Description |
|---|
| TDigipassBlob * | DPData | I/O | authenticator application BLOB. Upon return from the function call, this BLOB must be rewritten to the application database to reflect changes. |
| TKernelParms * | CallParms | I | Structure of runtime parameters to use during this function call. |
| aat_ascii * | Challenge | O | String of up to 17 numeric characters, which the user needs to enter into the Digipass authenticator to produce a dynamic password (recommended buffer size is 18 bytes). |
| aat_int32 * | Challenge length | O | Pointer to a long integer that contains the length of the generated challenge. |
| aat_ascii * | Challenge message | O | Challenge message string. The message is null-terminated. The storage buffer where the message will be stored is provided by the caller and should be at least 100 bytes. Providing a buffer of less than 100 bytes may trigger storage violation (recommended buffer size is 100 bytes). |
Return codes
Table: Return codes (AAL2GenerateChallengeEx) | Code | Meaning | Code | Meaning |
|---|
| 0 | Success | 1000 | Function does not support EMV-CAP |
| 132 | Unsupported token type | 1103 | Unlock Version 2 not supported |
| 135 | Invalid challenge pointer | 1116 | Response check digit not allowed |
| 136 | Invalid ChallengeLength pointer | 1117 | Challenge check digit not allowed |
| 137 | Challenge not supported | 1118 | Unsupported BLOB |
| 145 | Invalid ChallengeMsg pointer | -105 | Challenge minimum length not allowed |
| 412 | Invalid checksum | -106 | Challenge maximum length not allowed |
| 413 | Invalid Base64 format | -1501 | Memory allocation failed |
| 510 | Invalid Digipass data pointer | | |