Information message processing

Prev Next

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:

  • To software Digipass authenticators compliant with the multi-device two-step activation (in the context of multi-device licensing) and if the Secure Channel feature has been ordered (configured by OneSpan at the time of order).

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)
TypeNameUseDescription
aat_ascii *PKBlobIContains 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 *CallParmsIStructure of runtime parameters to use during this function call.
aat_ascii *aStorageKeyNameInIString 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 *aInitialVectorInIString 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 *InformationMessageIHexadecimal 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 *InformationBodyOString 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 *InformationBodyLengthI/OIn 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)
CodeMeaningCodeMeaning
0Success1337Unsupported message protocol version
412Invalid checksum1338Unsupported message type
413Invalid Base64 format1341Message is not hexadecimal
807Serial number not equal1343Invalid information message length
951Invalid HSM key type for HSM decryption1347Invalid information message protection type
1119Unsupported payload key BLOB1356

Invalid information message pointer

1285Master key derivation failed1357Invalid information body pointer
1288Invalid serial number prefix1358Invalid information body length pointer
1289Invalid serial number suffix1359Information body buffer is too small
1302AES CTR encryption failed1360Invalid information message type