This article describes the function(s) on which the information message processing functionality is based. It contains information about parameters and possible return codes, as well as a prototype for each function.
The information message processing functionality is applicable:
For more information, refer to the Authentication Suite Server SDK Product Guide.
AAL2ProcMessageInformationICSF
Function prototype
aat_int32 AAL2ProcMessageInformationICSF (
aat_ascii *PKBlob,
TKernelParms *CallParms,
aat_ascii *aStorageKeyNameIn,
aat_ascii *aInitialVectorIn,
aat_ascii *InformationMessage,
aat_ascii *InformationBody,
aat_int32 *InformationBodyLength);
Description
This function is used to extract a clear response body from a information message, using the payload key embedded into the payload key BLOB.
The payload key BLOB, required only if the information message is protected (encrypted and/or signed), must be mandatorily the one corresponding to the Digipass serial number of the client device that generated the information message.
For Digipass client devices supporting the information, the information message will be sent by the device to a server.
The information message processing is only applicable to software Digipass authenticators compliant with the Secure Channel protocol and able to generate Secure Channel information messages.
Parameters
Table: Parameters (AAL2ProcMessageInformationICSF) | Type | Name | Use | Description |
|---|
| aat_ascii * | PKBlob | I | Contains the payload key BLOB that has been generated for the Digipass instances activated with a particular serial number license (in case of the multi-device licensing model) or that has been imported for the Digipass authenticator with a particular serial number license (in case of single-device licensing model). The payload key BLOB parameter is mandatory only if the information message is protected (encrypted and/or signed); can be NULL or empty if the information message is not protected (neither encrypted nor signed). |
| TKernelParms * | CallParms | I | Structure of runtime parameters to use during this function call. |
| aat_ascii * | aStorageKeyNameIn | I | String of up to 64+1 characters, left-justified, null-terminated, or right-padded with spaces. This is the label of the ICSF storage key used to encrypt the sensitive Digipass application BLOB data. |
| aat_ascii * | aInitialVectorIn | I | String of 16 or 32 hexadecimal characters, left-justified, null-terminated. This is the initial vector used to encrypt the sensitive authenticator application BLOB data. |
| aat_ascii * | InformationMessage | I | Hexadecimal character string containing the information message that has been generated by the Digipass client device.The string length must be a multiple of 2 with a maximum length of 1070 characters. |
| aat_ascii * | InformationBody | O | String of up to 1024+1 hexadecimal characters, null-terminated. In case of a successful operation, this parameter contains the clear response body extracted from the InformationMessage. |
| aat_int32 * | InformationBodyLength | I/O | In input, this parameter must indicate the size of the allocated buffer for the InformationBody parameter (recommended are 1025 bytes). In output, this parameter indicates the length of the InformationBody string (without the null-terminated character). |
Return codes
Table: Return codes (AAL2ProcMessageInformationICSF) | Code | Meaning | Code | Meaning |
|---|
| 0 | Success | 1337 | Unsupported message protocol version |
| 412 | Invalid checksum | 1338 | Unsupported message type |
| 413 | Invalid Base64 format | 1341 | Message is not hexadecimal |
| 807 | Serial number not equal | 1343 | Invalid information message length |
| 951 | Invalid HSM key type for HSM decryption | 1347 | Invalid information message protection type |
| 1119 | Unsupported payload key BLOB | 1356 | Invalid information message pointer |
| 1285 | Master key derivation failed | 1357 | Invalid information body pointer |
| 1288 | Invalid serial number prefix | 1358 | Invalid information body length pointer |
| 1289 | Invalid serial number suffix | 1359 | Information body buffer is too small |
| 1302 | AES CTR encryption failed | 1360 | Invalid information message type |