Function Prototype
aat_int32 AAL2GenProcMessageInformationCmd(
aat_byte *Cmd,
aat_int32 *CmdSize,
aat_ascii *PKBlob,
TKernelParms *CallParms,
aat_ascii *aStorageKeyNameIn,
aat_ascii *aIVIn,
aat_ascii *InformationMessage);
Description
This function creates a command that directs the HSM to process an information message using the given data, and to return a result in the form of a reply.
The information message processing is only applicable to hardware and software Digipass compliant with the Secure Channel protocol, and software Digipass compliant with the Secure Channel protocol and able to generate Secure Channel information messages.
The information message processing on the HSM is identical to the functionality available with the Authentication Suite Server SDK Authentication Suite Server SDKSoftware Digipass Secure Channel Service. For information on the associated functions, refer to the Authentication Suite Server SDKC-C++ Programmer's Guide.
This function serializes an important amount of data. The Cmd buffer must be allocated with a sufficient size. For more information about the allocation of the Cmd and InReply buffers, refer to Cmd and InReply buffers allocation
This function must be used with the post-HSM API AAL2ProcProcMessageInformationRpl.
Parameters
Table: Parameters (AAL2GenProcMessageInformationCmd) | Type | Name | Use | Description |
|---|
| aat_byte * | Cmd | O | Up to 1388 bytes that serialize the INFORMATION MESSAGE PROCESSING command type and the input data to information message processing function on the HSM: - Command type - 2 bytes
- PayloadKey BLOB - 72 characters
- Runtime parameters - 80 bytes
- StorageKeyName - up to 128 characters
- InitialVector - 8 bytes
- Information Message - up to 1070 characters
- Host time - 4 bytes
Plus 24 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. |
| 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 * | aStorageKey NameIn | I | String of up to 128+1 characters, left-justified, null-terminated, or right-padded with spaces. This is the label of the HSM storage key used to encrypt the sensitive Digipass application BLOB data. |
| aat_ascii * | aIVIn | I | String of 16 hexadecimal characters, left-justified, null-terminated, or right-padded with spaces. 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. |
Return codes
Table: Return codes (AAL2GenProcMessageInformationCmd) | Code | Meaning | Code | Meaning |
|---|
| 0 | Success | 1025 | Buffer too small |
| 149 | Invalid initial vector length | 1018 | Invalid TLV item pointer |
| 412 | Invalid checksum (software) | 1119 | Unsupported payload key BLOB |
| 413 | Invalid Base64 format | 1303 | Invalid request message pointer |
| 590 | Invalid command pointer | 1341 | Message is not hexadecimal |
| 706 | Invalid data buffer pointer | 1343 | Invalid information message length |
| 1000 | Function does not support EMV-CAP | 1356 | Invalid information message pointer |