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

AAL2GenMessageActivation2ICSF

  • 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 AAL2GenMessageActivation2ICSF (
                               TDigipassBlob    *DPMAData,
                               TKernelParms     *CallParms,
                               aat_ascii        *aStorageKeyNameIn,
                               aat_ascii        *aInitialVectorIn,
                               aat_ascii        *PKBlob,
                               aat_ascii        *StaticVector,
                               aat_ascii        *MessageVector,
                               aat_ascii        *DeviceID,
                               aat_int32        *pSeqNum,
                               aat_ascii        TokenType [6],
                               aat_int16        *Appl_count,
                               aat_ascii        Serial_Appli [8][23],
                               aat_ascii        AuthMode [8][3],
                               TDigipassBlob    DPData [8],
                               aat_ascii        *Activation2Message,
                               aat_ascii        *Activation2MessageLength);

Description

This function is used to generate an Activation Message 2 from the master activation application (the license), the payload key BLOB, the static vector, the message vector, and the device ID provided. This Activation Message 2 allows activating a Digipass instance of a license into the device.

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.

The payload key BLOB must be used with this function only if the Secure Channel feature has been ordered (configured by OneSpan at the time of order). No payload key BLOB must be used (parameter NULL or empty string) if the Secure Channel feature has not been ordered.

In case of success, this function will also generate the new Digipass instance application BLOBs, directly bound to the specific device ID provided.

This function uses a new sequence number each time it successfully generates a new Digipass instance for a given license. The number of instances that can be issued from a license is limited to the threshold defined between 1 and 99 for the license (the sequence number threshold value; it can be obtained during the import of the master activation application).

If the instances exceed the defined sequence number threshold for a given license, the function will reject the generation attempt and it will fail.

Parameters

  Table: Parameters (AAL2GenMessageActivation2ICSF)
TypeNameUseDescription
TDigipassBlobDPMADataI/O

Digipass 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 *aStorageKeyNameInIString of up to 64+1 characters, left-justified, null-terminated, or right-padded with spaces. This is the label of the ICSF storage key used to encrypt the sensitive Digipass application BLOB data.
aat_ascii *aInitialVectorInIString 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 *PKBlobI

Contains the payload key BLOB of the Digipass serial number to activate. Mandatory if the Secure Channel feature has been ordered. Must be NULL or an empty string if the Secure Channel feature has not been ordered.

aat_ascii *StaticVectorI

Software Digipass parameter settings, up to 4094 characters, null-terminated.

aat_ascii *MessageVectorI

A string of up to 26+1 characters containing the message parameter settings, null-terminated (obtained during import).

aat_ascii *DeviceIDIHexadecimal string containing the device ID value of the Digipass device to bind with (8 hexadecimal characters), obtained after the device code validation.
aat_int32 *pSeqNumO

Contains in output the sequence number of the generated Digipass instance (from 1 to 99).

aat_ascii[6]TokenTypeO

An output string of 5+1 characters, null-terminated. It contains the Digipass type name given to the Digipass instance. Will return a Digipass type of the form TYPxx with xx representing the device type coded on two decimal digits e.g. TYP07.

aat_int16 *Appl_countO

Number of Digipass applications returned. Points to a short integer where the function returns the number of applications found.

aat_ascii[8][23]Serial_AppliO

Set of up to 8 x 22+1 character strings, null-terminated, each composed of the 10-character license serial number concatenated with the 12-character application name. Each array entry represents the logical instance of a Digipass cryptographic application with its unique secrets and parameters. The application name part will end with the sequence number coded on two decimal digits e.g. APPL1    03.

aat_ascii[8] [3]AuthModeO

Set of up to 8 x 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

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 of the Digipass instance. Upon return from the function call, these BLOBs must be written to the application database.

aat_ascii *Activation2MessageO

String of up to 124+1 hexadecimal characters, null-terminated. It contains the Activation Message 2 which is necessary during the activation process to provision the Digipass keys and the payload key to the Digipass device.

aat_int32 *Activation2MessageLengthI/O

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

COBOL calling convention

Entry point: AA2GM2IC
02   W-MA-BLOB           PIC X(248).
02   W-KERNELPARMS.
     03  W-PARMCOUNT     PIC 9(8) USAGE BINARY.
     03  W-PARM01        PIC 9(8) USAGE BINARY.
     . . .
     03  W-PARM19        PIC 9(8) USAGE BINARY.
02   W-STATIC-VECTOR     PIC X(4094).
02   W-MSGVECTOR         PIC X(27).
02   W-PKBLOB            PIC X(89).
02   W-APPL-COUNT        PIC 9(4) USAGE BINARY.
02   W-DEVICE-ID         PIC X(9).
02   W-SEQNUM            PIC 9(8) USAGE BINARY.
02   W-TOKEN-TYPE        PIC X(6).
02   W-SERIAL-APPS.
     03  W-SERIALAPP     PIC X(23) OCCURS 8.
02   W-AUTH-MODES.
     03  W-AUTHMODE      PIC X(3) OCCURS 8.
02   W-DP-BLOBS.
     03  W-DPDATA        PIC X(248) OCCURS 8.
02   W-ACT2MSG           PIC X(85).
02   W-ACT2MSG-LENGTH    PIC 9(8) USAGE BINARY VALUE 85.
02   W-RETURN            PIC S9(8) USAGE BINARY.
02   W-STORAGEKEY        PIC X(65).
02   W-INITVECTOR        PIC X(17).
02   W-API-NAME          PIC X(8) VALUE 'AA2GM2IC'.
. . .
     CALL W-API-NAME USING
           BY REFERENCE W-MA-BLOB
           BY REFERENCE W-KERNELPARMS
           BY REFERENCE W-STORAGEKEY
           BY REFERENCE W-INITVECTOR
           BY REFERENCE W-PKBLOB
           BY REFERENCE W-STATIC-VECTOR
           BY REFERENCE W-MSGVECTOR
           BY REFERENCE W-DEVICE-ID
           BY REFERENCE W-SEQNUM
           BY REFERENCE W-TOKEN-TYPE
           BY REFERENCE W-APPL-COUNT
           BY REFERENCE W-SERIAL-APPS
           BY REFERENCE W-DP-BLOBS
           BY REFERENCE W-ACT2MSG
           BY REFERENCE W-ACT2MSG-LENGTH
           RETURNING W-RETURN

Return codes

  Table: Return codes (AAL2GenActivationMessage2ICSF)
CodeMeaningCodeMeaning
0Success1272Invalid message body type
412Invalid checksum (software)1274Invalid message protocol version
413Invalid Base64 format1275Invalid message protection type
414Invalid checksum (HSM)1277Invalid device ID pointer
537Invalid static vector pointer1279Invalid device ID
545Invalid static vector length1285Master key derivation failed
570Invalid static vector version1286Invalid payload key pointer
571Invalid application index in static vector1290Invalid sequence number pointer
574Invalid serial number prefix in SV1291Invalid application count pointer
807Serial number not equal1292Sequence number threshold reached
900Invalid session context handle1293Invalid sequence number
908HSM key not found1294Digipass key derivation failed
951Invalid HSM key type for HSM decryption1295Invalid Digipass instance SM application in static vector
1000Function does not support EMV-CAP1296Key wrapping failed
1009Corrupt data received1297Invalid static vector
1019Missing mandatory data1298Invalid Digipass instance application in static vector
1025Buffer too small1302AES CTR encryption failed
1118Unsupported BLOB1310Invalid payload key type
1119Unsupported payload key BLOB1311Null Digipass data
1264Invalid master application1312Null serial number
1265Invalid master application data pointer1313Null authentication mode
1266Invalid message vector pointer1314Null token type
1267Invalid message vector length1317

Secure Channel supported. Payload key BLOB is mandatory

1268Invalid message vector version1318Secure Channel not supported. Payload key BLOB has to be NULL or empty string
1270Invalid activation message pointer-1501Memory allocation failed
1271Invalid activation message length pointer  

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