Function prototype
aat_int32 AAL2ProcGenSignatureRpl(
aat_byte *InReply,
aat_int32 ReplySize,
TDigipassBlob *DPData,
aat_ascii *Signature,
aat_ascii *ReturnHostCode,
aat_int32 *ReturnHostCodeLen);
Description
This function processes a reply from the HSM to a command generated with AAL2GenGenSignatureCmd.
Parameters
Table: Parameters (AAL2ProcGenSignatureRpl) | Type | Name | Use | Description |
|---|
| aat_byte * | InReply | I | Up to 256 bytes that contain the GENERATE PASSWORD command type and the output data from the generate password function on the HSM: - Command type - 2 bytes
- An authenticator application BLOB - 192 bytes
- Return code - 4 bytes
- Signature - up to 17 characters
- Confirmation code length - 4 bytes
- Confirmation code - up to 17 characters
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 * | Signature | O | String of up to 17 numeric or hexadecimal characters, left-justified, null-terminated, or right-padded with spaces. This is the e-signature generated by the library. |
| aat_ascii * | ReturnHostCode | O | String of up to 17 numeric or hexadecimal characters, left-justified, null-terminated, or right-padded with spaces. This is the confirmation code generated by Authentication Suite Server SDK for this signature. |
| aat_int32 * | ReturnHostCodeLen | O | Pointer to a long integer that in input contains the size of the ReturnHostCodeOut buffer, and in output contains the real length of the generated return host code. Leave NULL if not required. |
Return codes
Table: Return codes (AAL2ProcGenSignatureRpl) | Code | Meaning | Code | Meaning |
|---|
| 0 | Success | 1009 | Total length does not match TLV object lengths |
| 130 | Invalid response pointer | 1018 | Invalid TLV item pointer |
| 131 | Missing required challenge | 1019 | Missing mandatory TLV item |
| 202 | Sign error threshold reached | 1025 | Data buffer too small |
| 208 | Application disabled | 1103 | Unlock Version 2 not supported |
| 209 | Grace period expired | 1104 | Virtual token is not a primary token |
| 210 | Allowed use count reached | 1116 | Response check digit not allowed |
| 211 | Virtual token not supported | 1117 | Challenge check digit not allowed |
| 272 | Invalid wrapped key | 1118 | Unsupported BLOB |
| 412 | Invalid checksum (software) | -101 | Challenge too short |
| 413 | Invalid Base64 format | -102 | Challenge too long |
| 414 | Invalid checksum (HSM) | -103 | Challenge check digit wrong |
| 510 | Invalid Digipass data pointer | -105 | Challenge minimum length not allowed |
| 701 | Invalid input buffer pointer | -106 | Challenge maximum length not allowed |
| 910 | Invalid HSM command in reply | -107 | Challenge number wrong |
| 912 | HSM invalid BLOB status | -108 | Challenge character invalid |
| 913 | Invalid HSM key property | -1501 | Memory allocation failed |
| 951 | Invalid HSM key type for HSM decryption | | |