AAL2GenMessageRequest

Prev Next

This chapter describes the function(s) on which the request message generation functionality is based. It contains information about parameters and possible return codes, as well as a prototype for each function.

The request message generation functionality is applicable:

  • To hardware or 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).
  • To hardware Digipass authenticators based on the single-device licensing model and able to perform operations based on the Secure Channel protocol.

For more information, refer to the Authentication Suite Server SDK Product Guide.

Function prototype

aat_int32 AAL2GenMessageRequest (
                                 aat_ascii       *PKBlob,
                                 TKernelParms    *CallParms,
                                 aat_ascii       *MessageVector,
                                 aat_ascii       *RequestBody,
                                 aat_ascii       *RequestMessage,
                                 aat_int32       *RequestMessageLength);

Description

This function is used to generate a request message from a clear request body, using the payload key embedded into the payload key BLOB.

The payload key BLOB must be the one corresponding to the Digipass serial number the request message will target.

The request message generation is only applicable to hardware and software Digipass compliant with the Secure Channel protocol.

Parameters

  Table: Parameters (AAL2GenMessageRequest)
TypeNameUseDescription
aat_ascii *PKBlobI

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 *CallParmsIStructure of runtime parameters to use during this function call.
aat_ascii *MessageVectorI

A string of up to 26+1 characters containing the message parameter settings, null-terminated (obtained during import).

aat_ascii *RequestBodyIHexadecimal character string containing the clear request body to use for generating the request message. The string length must be a multiple of 2 with a maximum length of 1024 characters.
aat_ascii *RequestMessageO

A string of up to 1070+1 hexadecimal characters, null-terminated. In case of a successful operation, this parameter contains the generated RequestMessage.

aat_int32 *RequestMessageLengthI/O

In input, this parameter must indicate the size of the allocated buffer for the RequestMessage parameter (recommended 1071 bytes).

In output, this parameter indicates the length of the RequestMessage string (without the null-terminated character).

Return codes

  Table: Return codes (AAL2GenMessageRequest)
CodeMeaningCodeMeaning
0Success1286Invalid payload key pointer
412Invalid checksum1288Invalid serial number prefix
413Invalid Base64 format1289Invalid serial number suffix
1118Unsupported BLOB1302AES CTR encryption failed
1119Unsupported payload key BLOB1303Invalid request message pointer
1025Buffer too small1304Invalid request message length pointer
1266Invalid message vector pointer1305Invalid request body pointer
1267Invalid message vector length1306Invalid request body length
1268Invalid message vector version1334Transaction request not supported
1274Invalid message protocol version1335Invalid payload key type in payload key data
1275Invalid message protection type1336Inconsistent payload key type between payload key data and message vector
1285Master key derivation failed