Function prototype
aat_int32 AAL2DP500Test (aat_ascii* TestCode,
aat_ascii* HostDateTime,
aat_int32* ClockShift);
Description
The Digipass 500 model has a specific T-button that produces a Digipass TestCode using fixed secret data common to all Digipass 500 devices. Thus, the time synchronization mechanism can be tested easily, and the exact ClockShift that may exist between a Digipass 500 and the host GMT clock (HostDateTime) is given in seconds.
Parameters
Table: Parameters (AAL2DP500Test) | Type | Name | Use | Description |
|---|
| aat_ascii * | TestCode | I | String of six numeric characters, null-terminated or padded with spaces. This parameter holds the Digipass code that is generated and displayed by Digipass 500 after pressing the T-button. |
| aat_ascii * | HostDateTime | O | Host GMT date and time value, expressed in this format: Ddd Mmm DD HH:MM:SS YYYY, e.g. Fri Sep 17 15:01:35 1999 |
| aat_int32 * | ClockShift | O | Difference in seconds between the internal clock of Digipass 500 and the host system GMT time. This value is only significant when the function return code is 0, otherwise it has a fixed value of 99999999. |
Return codes
Table: Return codes (AAL2DP500Test) | Code | Meaning | Code | Meaning |
|---|
| 0 | Success | -107 | Challenge number wrong |
| 1 | Code not verified | -108 | Challenge character invalid |
| 142 | Invalid TestCode pointer | -201 | Response length out of bounds |
| 143 | Invalid HostDateTime pointer | -202 | Response too short |
| 144 | Invalid ClockShift pointer | -203 | Response too long |
| -101 | Challenge too short | -204 | Response check digit wrong |
| -102 | Challenge too long | -205 | Response character not decimal |
| -103 | Challenge check digit wrong | -206 | Response character not hexadecimal |
| -105 | Challenge minimum length not allowed | -207 | Response character set not specified |
| -106 | Challenge maximum length not allowed | | |