Function prototype
aat_int32 AAL2ProcUnlockAuthCodeRpl(
aat_byte *InReply,
aat_int32 ReplySize,
TDigipassBlob *DPData,
aat_ascii *aUnlockAuthCodeOut,
aat_word32 UnlockAuthCodeLenIn,
aat_int32 *UnlockAuthCounterOut);
Description
This function processes a reply from the HSM to a command generated with either AAL2GenUnlockAuthCodeCmd or AAL2GenUnlockAuthCodeCmdEx.
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.
Parameters
Table: Parameters (AAL2ProcUnlockAuthCodeRpl) | Type | Name | Use | Description |
|---|
| aat_byte * | InReply | I | Up to 230 bytes that contain the GEN UNLOCK AUTH CODE command type and the output data from the unlock auth code function on the HSM: - Command type - 2 bytes
- An authenticator application BLOB - 192 bytes
- Return code - 4 bytes
- Unlock auth code - up to 8 characters
- Unlock auth counter - 4 bytes
Plus 20 bytes for Authentication Suite Server SDK internal use. |
| aat_int32 | ReplySize | I | The length of the InReply message. |
| TDigipassBlob * | DPData | O | authenticator application BLOB. Upon return from the function call, this BLOB must be rewritten to the application database to reflect changes. |
| aat_ascii * | aUnlockAuthCodeOut | O | Unlock authentication code. Up to 8+1 numeric characters, which the user needs to provide to the administrator to be authenticated during a Digipass unlock procedure. |
| aat_int32 | UnlockAuthCodeLenIn | I | Buffer size of aUnlockAuthCodeOut. |
| aat_int32 * | UnlockAuthCounterOut | O | (Optional) Counter value used to generate the unlock authentication code. |
Return codes
Table: Return codes (AAL2ProcUnlockAuthCodeRpl) | Code | Meaning | Code | Meaning |
|---|
| 0 | Success | 912 | HSM invalid BLOB status |
| 138 | Unlock function not supported | 913 | Invalid HSM key property |
| 272 | Invalid wrapped key | 951 | Invalid HSM key type for HSM decryption |
| 412 | Invalid checksum (software) | 1009 | Invalid TLV total length |
| 413 | Invalid Base64 format | 1018 | Invalid TLV item pointer |
| 414 | Invalid checksum (HSM) | 1019 | Missing mandatory TLV item |
| 510 | Invalid Digipass data pointer | 1025 | Data buffer too small |
| 701 | Invalid input buffer pointer | 1118 | Unsupported BLOB |
| 811 | Invalid unlock authentication code pointer | 1104 | Virtual token is not a primary token |
| 812 | Invalid unlock authentication index | -1501 | Memory allocation failed |
| 910 | Invalid command type in reply | | |