This function extends AAL2GenAuthorizeUnlockCmd. With this function, you can address the HSM storage key by name and to specify an initial vector. The initial vector is used during the 3DES/AES encryption of the sensitive authenticator application BLOB data.
Unlocking Digipass with the HSM module is identical to the functionality available with the Authentication Suite Server SDK Software Digipass Management Service. For information on the associated functions, refer to the Authentication Suite Server SDK C-C++ Programmer's Guide.
This function must be used with the post-HSM API AAL2ProcAuthorizeUnlockRpl.
Parameters
Table: Parameters (AAL2GenAuthorizeUnlockCmdEx)
Type
Name
Use
Description
aat_byte *
Cmd
O
Up to 450 bytes that serialize the AUTHORIZE UNLOCK command type and the input data to the authorize unlock function on the HSM:
Command type - 2 bytes
An authenticator application BLOB - 192 bytes
Runtime parameters - 80 bytes
StorageKeyName - up to 128 characters
InitialVector - 8 bytes
Unlock authentication code - up to 8 characters
Unlock challenge - up to 8 characters
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.
TDigipassBlob *
DPData
I
authenticator application BLOB.
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 *
aUnlockAuth CodeIn
I
String of up to 8+1 numeric characters, null-terminated, or padded with spaces. This parameter holds the unlock authentication code that is generated by the unlock auth code functions.
aat_ascii *
aRandomNumberIn
I
String of up to 8+1 numeric characters, null-terminated or padded with spaces. This parameter holds the random number that is generated and displayed by a Digipass authenticator when it gets locked (unlock challenge).
Return codes
Table: Return codes (AAL2GenAuthorizeUnlockCmdEx)
Code
Meaning
Code
Meaning
0
Success
706
Invalid data buffer pointer
149
Invalid initial vector length
811
Invalid unlock authentication code pointerointer
412
Invalid checksum (software)
1000
Function does not support EMV-CAP
413
Invalid Base64 format
1018
Invalid TLV item pointer
510
Invalid Digipass data pointer
1025
Data buffer too small
590
Invalid command pointer
Cet article vous a-t-il été utile ?
Merci pour vos commentaires! Notre équipe vous répondra