This function decrypts the encrypted QA BLOB provided by the Java applet of the DIGIPASS for Web architecture.
Score-based Digipass
For Digipass devices that integrate the score-based algorithm, Authentication Suite Server SDK performs a score-based authentication to decrypt the QA BLOB. This allows retrieving the Digipass scoring value. Once Authentication Suite Server SDK has successfully decrypted the QA BLOB, it returns either SUCCESS or SUCCESS with the relevant scoring warning code.. See the list of return codes in Table: Return codes (AAL2QADecryptQABlobICSF) for more details.
Parameters
Table: Parameters (AAL2QADecryptQABlobICSF)
Type
Name
Use
Description
TDigipassBlob *
DPData
I/O
authenticator application BLOB. Upon return from the function call, this BLOB must be rewritten to the application database to reflect changes.
TKernelParms *
KernelParms
I
List of formatted kernel parameters:
ParamertName1=Value1;ParameterName2=Value2;….
aat_ascii *
aStorageKeyNameIn
I
String 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 *
aInitialVectorIn
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 *
Challenge
I
Challenge for CR mode.
aat_ascii *
EncryptedQABlob
I
Encrypted QA BLOB format:
OTP
User ID: up to32 chars
Idx1: 02 chars
XHA1: 30 chars
Idx2: 02 chars
XHA2: 30 chars
...
Chk: 16 chars
aat_ascii *
QABlob
O
BLOB resulting from the formatted answer hash:
User ID: 32 chars
BLOB version: 02 chars
Hash number: 02 chars
|Index |02 chars
|Hash |30 chars
Checksum: 16 chars
aat_int32
QABlobSize
I/O
In input, this parameter contains the allocated size of the QABlob buffer and in output it contains the number of characters copied in the QABlob buffer.