AAL2VerifySignatureICSF
  • 23 Jan 2025
  • 4 Minutes à lire
  • Sombre
    Lumière
  • PDF

AAL2VerifySignatureICSF

  • 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 (aal2sdk.h)

aat_int32 AAL2VerifySignatureICSF (
                               TDigipassBlob*   DPBlob,
                               TKernelParms*    CallParms,
                               aat_ascii*       aStorageKeyNameIn,
                               aat_ascii*       aInitialVectorIn,
                               aat_ascii*       aSignatureIn,
                               aat_ascii        aSignedDataFieldsIn[8][20],
                               aat_int32        FieldCountIn,
                               aat_int32        DeferredSignatureDataIn,
                               aat_ascii*       ConfirmationCode,
                               aat_int32*       ConfirmationCodeLength);

Description

The AAL2VerifySignatureICSF function is called passing the necessary data to perform signature validation and integrity control, based on the signature code generated by the user's Digipass, and up to eight SignedDataFields on which authentication and integrity control are to be performed. The exact number of valid data fields is given in FieldCount. If necessary, synchronization information may be passed using the DeferredSignatureData parameter.

This function is used to perform signature validation on a standard signature process involving up to eight signed data fields.

This function cannot be used to perform signature validation of a Secure Channel transaction (signature based on a Secure Channel request message). For signature validation of a Secure Channel transaction, AAL2VerifyMessageSignatureICSF must be used instead of AAL2VerifySignatureICSF.

The OnlineSG kernel parameter is applied to the present function and is used as described in the OneSpan Authentication Suite Server SDK C-C++ Programmer's Guide.

Signature confirmation code specifics

In addition, a feature is present that allows a client to authenticate back the host server that validated the signature.

It facilitates a two-way process. The server validates the user's signature and returns a confirmation code as an acknowledgment that the user is able to verify on their Digipass.

This function allows the integrator to address the HSM storage key by name and to specify an initial vector. The initial vector is used during the S3DES/AES decryption/encryption of the sensitive data of the authenticator application BLOB.

Score-based Digipass

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

Parameters

The memory management of the output parameters must be performed by the calling function.

  Table: Parameters (AAL2VerifySignatureICSF)
TypeNameUseDescription
TDigipassBlob *DPBlobI/OThe authenticator application BLOB.
TKernelParms *CallParmsIStructure of runtime parameters to use during this function call.
aat_ascii *aStorageKeyNameInI

String of up to 64+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 authenticator applicationBLOB 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 *aSignatureInIUp to 16+1 numeric or hexadecimal characters, left-justified, null-terminated, or right-padded with spaces.
aat_ascii *aSignedDataFieldsInIArray of 8,left-justified, null-terminated, or space-padded strings of maximum 20 characters.

This parameter holds the 8 possible data fields that are entered in the Digipass authenticator to generate a signature.

aat_int32 *FieldCountInINumeric value from 1 to 8. Indicates the number of data fields to use from the aSignedDataFieldsIn array.
aat_int32 *DeferredSignatureDataInI
  • Must be 0 if signature is validated in online mode (OnlineSG=1 or 2).
  • If signature is validated in offline mode with OnlineSG=0, this parameter can receive the Digipass date of the signature generation (number of elapsed seconds from January 1, 1970) or 0 (0 forces using the current time) Important: If > 0, the parameter filled must be the Digipass time, and not the host time.
  • If signature is validated in offline mode with OnlineSG=3, this parameter MUST receive the counter of the Digipass authenticator used for the signature generation.
aat_asciiConfirmationCodeOString of up to 17 numeric or hexadecimal characters, left-justified, null-terminated, or right-padded with spaces. This is the confirmation code generated by Authentication Suite Server SDK for this signature.
aat_int32ConfirmationCodeLengthOPointer to a long integer that will contain the length of the confirmation code that has been generated.

COBOL calling convention

Entry point: AA2VVSIC
02   W-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-HOSTCODE        PIC X(17).
02   W-HOSTCODE-LENGTH  PIC 9(8) USAGE BINARY.
02   W-SIGNATURE        PIC X(17).
02   W-SIGNED-DATA      PIC X(20) OCCURS 8.
02   W-FIELDCOUNT       PIC 9(8) USAGE BINARY.
02   W-SIGNATUREDATE    PIC 9(8) USAGE BINARY.
02   W-STORAGEKEY      PIC X(65).
02   W-INITVECTOR      PIC X(17).
02   W-API-NAME        PIC X(8) VALUE 'AA2VVSIC'.
. . .
     CALL W-API-NAME USING
           BY REFERENCE W-BLOB
           BY REFERENCE W-KERNELPARMS
           BY REFERENCE W-STORAGEKEY
           BY REFERENCE W-INITVECTOR
           BY REFERENCE W-SIGNATURE
           BY REFERENCE W-SIGNED-DATA
           BY REFERENCE W-FIELDCOUNT
           BY REFERENCE W-HOSTCODE
           BY REFERENCE W-HOSTCODE-LENGTH
           RETURNING W-RETURN

Return codes

  Table:  Return codes (AAL2VerifySignatureICSF)
CodeMeaningCodeMeaning
0Success900Invalid session context handle
10001Success with context warning*908HSM key not found
10002Success with user warning*951Invalid HSM key type for HSM decryption
10003Success with user & context warning*1103Unlock Version 2 not supported
10004Success with platform warning*1116Response check digit not allowed
10005Success with platform & context warning*1117Challenge check digit not allowed
10006Success with platform & user warning*1118Unsupported BLOB
10007Success with platform & user & context warning*-101Data field too short
1Signature not verified-102Data field too long
132Unsupported token type-103Data field check digit wrong
139Invalid signature pointer-105Challenge minimum length not allowed
141Invalid field count-106Challenge maximum length not allowed
148Invalid data field pointer-107Challenge number wrong
203Sign error threshold reached-108Challenge character invalid
204Duplicate signature found-201Response length out of bounds
205Inactive days reached-202Response too short
206Chronological signature error-203Response too long
207Deferred signature not allowed with OnLineSG not Null-204Response check digit wrong
208Application disabled-205Response character not decimal
412Invalid checksum (software)-206Response character not hexadecimal
413Invalid Base64 format-207Response character set not specified
414Invalid checksum (HSM)-1501Memory allocation failed
510Invalid Digipass data pointer  

* Specific score-based authentication codes; see  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