This function creates a command which directs the HSM to derive the Digipass data of a Software Digipass based on Digipass SDK 4.0 or higher for Software Digipass compliant with the standard one-step activation (in the context of single-device licensing); for more information, refer to the Authentication Suite Server SDK Product Guide, using the given data and to return a result in the form of a reply.
The software Digipass data derivation on the HSM is identical to the functionality available with the Authentication Suite Server SDK Software Digipass Derivation 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 AAL2ProcDeriveTokenBlobsRpl.
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
Parameters
Table: Parameters (AAL2GenDeriveTokenBlobsCmd)
Type
Name
Use
Description
aat_byte *
Cmd
O
Up to 1874 bytes that serialize the DERIVE TOKEN BLOBS command type and the input data to the derive token Blobs function on the HSM:
Command type - 2 bytes
An authenticator application BLOBs - up to 8x192 bytes
Runtime parameters - 80 bytes
ApplCount - 4 bytes
StorageKeyName - up to 128 characters
InitialVector - 8 bytes
Challenge - up to 17 characters
DerivationCode - up to 27 characters
DerivationCodeFormat - 4 bytes
Host time - 4 bytes
Plus 64 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 * [8]
DPData
I
Array of authenticator application BLOB pointers.
TKernelParms *
CallParms
I
Structure of runtime parameters to use during this function call.
aat_int16
Appl_count
I
Number of applications in the authenticator application BLOB array (1 to 8).
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 *
aChallenge In
I
String of up to 17 numeric characters, left justified, null-terminated or right padded with spaces. This parameter holds the challenge that may have been proposed to the user to generate the DerivationCode (in case the first authenticator application BLOB is a Challenge/Response application).
If no challenge is used to generate the derivation code, this parameter must be NULL.
aat_ascii *
aDerivationCodeIn
I
String of up to 27+1 decimal or hexadecimal characters, null-terminated. This is the derivation code generated by the Digipass authenticator.
This derivation code can contain hexadecimal characters if the OTP response output is hexadecimal.
aat_word32
DerivationCodeFormat
I
Reserved. Must be set to 0.
Return codes
Table: Return codes (AAL2GenDeriveTokenBlobsCmd)
Code
Meaning
Code
Meaning
0
Success
706
Invalid data buffer pointer
149
Invalid initial vector length
1000
Function does not support EMV-CAP
412
Invalid checksum (software))
1018
Invalid TLV item pointer
413
Invalid Base64 format
1025
Data buffer too small
510
Invalid Digipass data pointer
1110
Invalid derivation code pointer
590
Invalid command pointer
Cet article vous a-t-il été utile ?
Merci pour vos commentaires! Notre équipe vous répondra