Function prototype
aat_int32 AAL2GenUnlockCmd(
aat_byte *Cmd,
aat_int32 *CmdSize,
TDigipassBlob *DPData,
TKernelParms *CallParms,
aat_ascii *aRandomNumberIn);
Description
This function creates a command which directs the HSM to generate unlock code using the given data and to return a result in the form of a reply.
Unlocking Digipass with the HSM module is identical to the functionality available with the Authentication Suite Server SDK Software Digipass Management Service. For information on the associated functions, refer to the Authentication Suite Server SDK C-C++ Programmer's Guide.
This function must be used with the post-HSM API AAL2ProcUnlockRpl.
Parameters
Table: Parameters (AAL2GenUnlockCmd) | Type | Name | Use | Description |
|---|
| aat_byte * | Cmd | O | Up to 294 bytes that serialize the UNLOCK command type and the input data to the unlock function on the HSM: - Command type - 2 bytes
- An authenticator application BLOB - 192 bytes
- Runtime parameters - 80 bytes
- Unlock challenge - up to 8 characters
Plus 12 bytes for Authentication Suite Server SDK internal use. |
| aat_int32 * | CmdSize | I/O | On entry, this parameter contains the size of the Cmd buffer.On exit, this parameter contains the length of the Cmd message. |
| TDigipassBlob * | DPData | I | authenticator application BLOB. |
| TKernelParms * | CallParms | I | Structure of runtime parameters to use during this function call. |
| aat_ascii * | aRandomNumberIn | I | String of up to 8 numeric characters, null-terminated or padded with spaces. This parameter holds the random number that is generated and displayed by a Digipass authenticator when it gets locked (unlock challenge). |
Return codes
Table: Return codes (AAL2GenUnlockCmd) | Code | Meaning | Code | Meaning |
|---|
| 0 | Success | 590 | Invalid command pointer |
| 133 | Invalid RandomNumber pointer | 706 | Invalid data buffer pointer |
| 412 | Invalid checksum (software) | 1000 | Function does not support EMV-CAP |
| 413 | Invalid Base64 format | 1018 | Invalid TLV item pointer |
| 510 | Invalid Digipass data pointer | 1025 | Data buffer too small |