AAL2DPXGetTokenBLOBsEx2
  • 22 Jan 2025
  • 5 Minutes à lire
  • Sombre
    Lumière
  • PDF

AAL2DPXGetTokenBLOBsEx2

  • Sombre
    Lumière
  • PDF

The content is currently unavailable in French. You are viewing the default English version.
Résumé de l’article

Function prototype

aat_int32 AAL2DPXGetTokenBlobsEx2(
                                  TDPXHandle*        dpx_Handle
                                  TKernelParms*      CallParms,
                                  aat_ascii          Serial[11],
                                  aat_int16*         Appl_count,
                                  aat_ascii          Serial_Appli[8][23],
                                  aat_ascii          TokenType[6],
                                  aat_ascii          AuthMode[8][3],
                                  TDigipassBlob      DPData[8],
                                  aat_int32*         SeqNumThreshold,
                                  aat_ascii*         ActivationVector,
                                  aat_int32*         ActivationVectorLen,
                                  aat_ascii*         PKBlob,
                                  aat_int32*         PKBlobLen);

Description

This function is used to import all the application BLOBs of one Digipass authenticator in a single call (each application BLOB is stored in the DPData array parameter).

The name of each application is concatenated with the Digipass serial number and returned in the Serial_Appli array. In the same way, the authentication mode to use for each authenticator application is returned in the AuthMode array. The physical Digipass device type is returned in TokenType.

The number of authenticator application BLOBs requested/returned is described in the application count. If the dpx_Handle contains more than one Digipass authenticator, AAL2DPXGetTokenBlobssEx2 must be called several times to import all Digipass authenticators.

This function replaces and extends the former function AAL2DPXGetTokenBlobsEx to support traditional single-device licensing DPX files containing for each Digipass authenticator a payload key in addition to some traditional Digipass applications. For more information, refer to the Authentication Suite Server SDK Product Guide.

The usage of the former functions AAL2DPXGetToken, AAL2DPXGetTokenBlobs, and AAL2DPXGetTokenBlobsEx is no longer recommended.

In case of DPX files containing master activation licenses (in the context of multi-device licensing), the function AAL2DPXGetTokenBlobsEx2 will allow importing a master activation application BLOB, the associated activation vector, and the associated sequence number threshold from a DPX file:

  • The master activation application BLOB and the associated activation vector are involved in the activation process of the Digipass instance related to a particular license of the imported DPX file.
  • The activation vector holds some parameters for Activation Message 1 that will be generated afterwards by Authentication Suite Server SDK for a particular license.
  • The sequence number threshold is a number from 1 to 99, indicating the number of instances which can be activated from the license. This is configured by OneSpan at the time of order.

The function AAL2DPXGetTokenBlobsEx2 must be called several times to import all Digipass authenticators from a DPX file, one time for each serial number.

In case of DPX containing payload key, each call of AAL2DPXGetTokenBlobsEx2 will return one payload key BLOB for each Digipass authenticator.

If the Digipass authenticator uses the Secure Channel feature but the DPX does not contain payload key (case of Digipass post-provisioned), the function call to AAL2DPXGetTokenBlobsEx2 will not return any payload key BLOB. The payload key BLOBs must be generated in this case using AAL2GenPayloadKeyBlob function.

No payload key BLOB will be imported or must be generated if the Digipass authenticator does not support the Secure Channel feature.

AAL2DPXGetTokenBlobsEx2 returns 107 when the last Digipass authenticator has been imported.

After importing all Digipass authenticators from a DPX file the function AAL2DPXClose must be called.

Parameters

  Table: Parameters (AAL2DPXGetTokenBlobsEx2)
TypeNameUseDescription
TDPXHandle *dpx_HandleI/OPointer to the handle used during the DPX file import operation. This block must be the one initialized by the AAL2DPXInit function.
TKernelParms *CallParmsIStructure of runtime parameters to use during this function call.
aat_ascii [11]SerialO

String of 10 + 1 character strings, null-terminated. Gives the Digipass device serial number.

aat_int16 *Appl_countOPoints to a short integer where the function returns the number of Digipass applications found for the Digipass authenticator.
aat_ascii [8][23]Serial_AppliO

Set of up to eight 22 + 1 character strings, null-terminated, each composed of the 10-digit Digipass device serial number concatenated with its 12-digit application name. Each array entry represents the logical instance of a Digipass cryptographic application with its unique secrets and parameters.

aat_ascii [6]TokenTypeO

String of 5 +1 characters, null-terminated. Gives the physical Digipass device type. It may be used for information purposes or to determine which flashing pattern protocol to use to send data through the device's optical interface, if any.

Possible values:

  • AKII
  • AUTCD
  • DP100
  • DP300
  • DP500
  • DP600
  • DP700
  • etc.
aat_ascii [8][3]AuthModeO

Set of up to eight 2+1 character strings, null-terminated. Defines each returned authenticator application authentication mode.

RO: Response-Only

CR: Challenge/Response

SG: Signature

MM: Multi-Mode

UL: Unlock V2 dedicated application

MA: Master Activation Application

Signature mode devices may also be used for Challenge/Response authentication if they are programmed to accept a single input data field.

TDigipassBlob [8]DPDataO

Up to 8 authenticator application BLOBs. Upon return from the function call, these BLOBs must be written to the application database.

aat_int32 *SeqNumThresholdOPointer on an integer value containing when the function returns, the sequence number threshold of the master activation application (from 1 to 99). Returned value is 0 when the Digipass authenticator does not contain a master activation application MA.
aat_ascii *ActivationVectorO76+1 output string containing the activation vector corresponding to the master activation application returned. It will return an empty string if the Digipass authenticator does not contain a master activation application MA.
aat_int32 *ActivationVectorLenI/O

In input, this parameter must indicate the size of the allocated buffer for the activation vector parameter (recommended 77 bytes).

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

aat_ascii *PKBlobOA string of 88+1 characters, null-terminated. It contains the generated payload key BLOB for a Digipass serial number license. Upon return from the function call, this BLOB must be rewritten to the application database to reflect changes.
aat_int32 *PKBlobLenI/O

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

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

Return codes

  Table: Return Codes (AAL2DPXGetTokenBlobsEx2)
CodeMeaningCodeMeaning
100Success-1504Invalid handle context eyecatcher
107Success – end of file reached-1505Invalid handle key eyecatcher
-10Error null pointer-1506Invalid selected application
-11Error bad argument-1507Selected application pointer is null
-12Error DPX clear failed-1508InitKey pointer is null
-13Error DES calculation-1509File name pointer is null
-22Error file rewind failed-1510Invalid selected application
-23Error file not open-1514Serial number pointer is null
-24Error file not closed-1515Digipass type pointer is null
-30Error fatal error-1516Authentication mode pointer is null
-31Error file has errors-1517Digipass data pointer is null
-32Error too many errors-1525Unlock mixed versions in same DPX
-33Error too much info-1526Invalid unlock challenge length in DPX
-40Error void text-1527Invalid unlock code type in DPX
-41Error truncated text-1528Invalid unlock code length in DPX
-42Error no DF records-1530EMV HSM DPX not supported
-43Error unexpected record-1531EMV SSM DPX not supported
-44Error bad record type-1537Invalid master activation application
-45Error unexpected content-1538Sequence number threshold pointer is null
-46Error line exhausted-1539Activation vector pointer is null
-47Error missing quotes-1540Activation vector length pointer is null
-48Error missing field name-1541Invalid activation vector buffer length
-49Error bad field name-1542Invalid master application number
-50Error bad field type-1544Payload key BLOB pointer is null
-51Error field size-1545Paylod key BLOB length pointer is null
-52Error line size-1546Paylod key BLOB buffer length is not valid
-100Error DH file content-1547Invalid GM/T 0004-2012 application
-101Error DH date content-1548Invalid time step for GM/T 0004-2012 algorithm
-102Error DH version content-1549Invalid unlock type for AES HSM encryption
-103Error DH created by content-1550Invalid application key type for AES HSM encryption
-200Error DC HSH content-2000Error t300 sernumber
-201Error DC DEL content-2001Error t300 fabsecret
-202Error HSH value-2002Error t300 unl64key
-203Error DEL value-2003Error t300 codeword
-300Error DF field name-2004Error t300 des64key
-301Error DF descriptor-2005Error t300 tdes64key
-400Error DA record-2006Error t300 offset
-401Error DA field-2007Error t300 ivright
-500Error Digipass field value-2008Error t300 ivleft
-501Error Digipass descriptor-2009Error t300 root
-502Error Digipass unknown descriptor-2010Error t300 today
-503Error Digipass record redefinition-2011Error t300 tomorrow
-504Error Digipass record overflow-2012Error t300 daycut
-800Error CT field type-2020Error t500 sernumber
-801Error CT name redefinition-2021Error t500 fabsecret
-802Error CT field length-2022Error t500 ipin
-803Error CT field name-2023Error t500 codeword
-804Error CT too many entries-2024Error t500 des64key
-900Error DE DEF records content-2040Error t700 sernumber
-901Error DE data records content-2041Error t700 fabsecret
-902Error DE tokens content-2042Error t700 unl64key
-1500Cannot allocate memory-2043Error t700 codeword
-1501Handle pointer is null-2044Error t700 des64key
-1502Handle context is pointer null-2045Error t700 tdes64key
-1503Handle key is pointer null  

Cet article vous a-t-il été utile ?

What's Next
Changing your password will log you out immediately. Use the new password to log back in.
First name must have atleast 2 characters. Numbers and special characters are not allowed.
Last name must have atleast 1 characters. Numbers and special characters are not allowed.
Enter a valid email
Enter a valid password
Your profile has been successfully updated.
ESC

Ozzy, facilitant la découverte de connaissances grâce à l’intelligence conversationnelle