This function creates a command that directs the HSM to generate a request message using the given data, and to return a result in the form of a reply.
The request message generation is only applicable to hardware and software Digipass compliant with the Secure Channel protocol.
The request message generation on the HSM is identical to the functionality available with the Authentication Suite Server SDK Software Digipass Secure Channel Service. For information on the associated functions, refer to the Authentication Suite Server SDK C-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 AAL2ProcGenMessageRequestRpl.
Parameters
Table: Parameters (AAL2GenGenMessageRequestCmd)
Type
Name
Use
Description
aat_byte *
Cmd
O
Up to 1373 bytes that serialize the REQUEST MESSAGE GENERATION command type and the input data to request message generation function on the HSM:
Command type - 2 bytes
PayloadKey BLOB - 72 characters
Runtime parameters - 80 bytes
StorageKeyName - up to 128 characters
InitialVector - 8 bytes
MessageVector - up to 27 characters
Request Body - up to 1024 characters
Host time - 4 bytes
Plus 28 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 *
MessageVector
I
A string of up to 26+1 characters containing the message parameter settings, null-terminated (obtained during import).
aat_ascii *
RequestBody
I
Hexadecimal character string containing the clear request body to use for the RequestMessage to generate. String length must be a multiple of 2 and maximum 1024.
Return codes
Table: Return codes (AAL2GenGenMessageRequestCmd)
Code
Meaning
Code
Meaning
0
Success
1018
Invalid TLV item pointer
1
Code not verified
1025
Buffer too small
149
Invalid initial vector length
1119
Unsupported payload key BLOB
412
Invalid checksum (software)
1266
Invalid message vector pointer
413
Invalid Base64 format
1286
Invalid payload key pointer
590
Invalid command pointer
1305
Invalid request body pointer
706
Invalid data buffer pointer
1306
Invalid request body length
1000
Function does not support EMV-CAP
Cet article vous a-t-il été utile ?
Merci pour vos commentaires! Notre équipe vous répondra