AAL2VerifyDeviceCode
  • 22 Jan 2025
  • 2 Minutes à lire
  • Sombre
    Lumière
  • PDF

AAL2VerifyDeviceCode

  • 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 AAL2VerifyDeviceCode (
                                TDigipassBlob   *DPMAData,
                                TKernelParms    *CallParms,
                                aat_ascii       *Challenge,
                                aat_ascii       *DeviceCode,
                                aat_ascii       *DeviceID,
                                aat_int32       *DeviceIDLength,
                                aat_int32       *pDeviceType);

Description

This function verifies the device code provided by the Digipass device using the master activation application data. It also extracts in case of SUCCESS:

  • Digipass device ID
  • Digipass device type

It is only applicable to hardware or software Digipass authenticators compliant with the multi-device two-step activation (in the context of multi-device licensing). For more information, refer to the Authentication Suite Server SDK Product Guide.

If a challenge has been used to generate the Activation Message 1 (AALGenMessageActivation1) received by the Digipass device, the same challenge is necessary to validate the device code.

If challenge is not used, the kernel parameter CheckChallenge has to be set to 0 to disable the challenge checking.

Score-based Digipass

For Digipass devices that integrate the score-based algorithm, Authentication Suite Server SDK performs a score-based authentication to validate the device code. This allows retrieving the Digipass scoring value. Once Authentication Suite Server SDK has successfully validated the device code, it returns either SUCCESS or SUCCESS with the relevant scoring warning code. See the list of return codes in Table: Return codes (AAL2VerifyDeviceCode) for more details.

Parameters

  Table: Parameters (AAL2VerifyDeviceCode)
TypeNameUseDescription
TDigipassBlobDPMADataI/ODigipass master activation application BLOB of the Digipass serial number license that will be used for the activation. Upon return from the function call, this BLOB must be rewritten to the application database to reflect changes.
TKernelParms *CallParmsIStructure of runtime parameters to use during this function call.
aat_ascii *ChallengeI

Optional string of 16 numeric or hexadecimal characters, left-justified, null-terminated, or right-padded with spaces. This parameter must hold the challenge that was used initially to generate Activation Message 1. If no challenge was used to generate Activation Message 1, this parameter must be NULL.

aat_ascii *DeviceCodeI

String of up to 26+1 characters, null-terminated. It contains the device code generated by the Digipass device.

aat_ascii *DeviceIDO

Output string of 8+1 hexadecimal characters, null-terminated. If the device code has been successfully verified, this parameter contains the value of the Digipass device ID.

aat_int32 *DeviceIDLengthI/O

In input, this parameter must indicate the size of the allocated buffer for the DeviceID parameter (recommended 9 bytes). In output, this parameter indicates the length of the DeviceID string (without the null-terminated character).

aat_int32 *pDeviceTypeO

In output, this parameter contains the Digipass device type if the device code has been successfully verified (from 0 to 31).

  Table: List of device type values and definitions
ValueDefinitionValueDefinition
0Hardware device13BlackBerry Native
1Unknown software platform15MIDP2 Platform or BB Java
3iOS17Windows
5Jailbroken iOS19Linux
7Android21Mac
9Rooted AndroidOtherRFU
11Windows Phone  

Return codes 

  Table:  Return codes (AAL2VerifyDeviceCode)
CodeMeaningCodeMeaning
0Success1116Response check digit not allowed
10001Success with context warning*1117Challenge check digit not allowed
10002Success with user warning*1118Unsupported BLOB
10003Success with user & context warning*1263Device ID buffer too small
10004Success with platform warning*1264Invalid master application
10005Success with platform & context warning*1265Invalid master application data pointer
10006Success with platform & user warning*1276Invalid device code pointer
10007Success with platform & user & context warning*1277Invalid device ID pointer
1Code not verified1278Invalid device ID length pointer
140Challenge corrupted1280Invalid device type pointer
201Code replay attempt1281Invalid device code length
202Identification error threshold reached1282Invalid device code check digit
205Inactive days reached1283Invalid device code character
208Application disabled1284Invalid device code
412Invalid checksum1285Master key derivation failed
413Invalid Base64 format-102Challenge too long
600Invalid Gordian root information-103Challenge check digit wrong
601Invalid Gordian today information-105Challenge minimum length not allowed
602Invalid Gordian tomorrow information-106Challenge maximum length not allowed
603Invalid Gordian stimulus information-107Challenge number wrong
1000Function does not support EMV-CAP-108Challenge character invalid
1025Buffer too small-201Response length out of bounds
1039Invalid response length with DP algorithm-205Response character not decimal
1040Invalid host code length with DP algorithm-206Response character not hexadecimal
1103Unlock Version 2 not supported-207Response character set not specified

* Specific score-based authentication codes; for more information, refer to  Score-based Digipass.


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

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