The request message generation functionality is applicable:
- To hardware or software Digipass authenticators compliant with the multi-device two-step activation (in the context of multi-device licensing) and if the Secure Channel feature has been ordered (configured by OneSpan at the time of order).
- To hardware Digipass authenticators based on the single-device licensing model and able to perform operations based on the Secure Channel protocol.
For more information, refer to the Authentication Suite Server SDK Product Guide.
Function prototype
aat_int32 AAL2ProcMessageResponse (
aat_ascii *PKBlob,
TKernelParms *CallParms,
aat_ascii *ResponseMessage,
aat_ascii *RequestMessage,
aat_ascii *ResponseBody,
aat_int32 *ResponseBodyLength);Description
This function is used to extract a clear response body from a response message, using the payload key embedded into the payload key BLOB.
The payload key BLOB, mandatory only if the response message is protected (encrypted and/or signed) must be mandatorily the one corresponding to the Digipass serial number of the client device that generated the response message.
For Digipass client devices supporting the two-way Secure Channel, the response message will be sent back by the device as a reply to a request message.
Response message processing is only applicable to hardware and software Digipass compliant with the Secure Channel protocol.
If the response message was correctly processed and contains a Secure Channel request error that is detected by the device, the return code is dependent on the Secure Channel request error code byte (return code = offset + code byte with offset = 5000).). See the list of return codes in Table: Return codes (AAL2ProcMessageResponse) for more details.
Parameters
Return codes
| Code | Meaning | Code | Meaning |
|---|---|---|---|
| 0 | Success | 1348 | Invalid response message pointer |
| 412 | Invalid checksum | 1349 | Invalid response body pointer |
| 413 | Invalid Base64 format | 1350 | Invalid response body length pointer |
| 807 | Serial number not equal | 1351 | Response body buffer too small |
| 1119 | Unsupported payload key BLOB | 1352 | Nonces are not equal |
| 1285 | Master key derivation failed | 1353 | Payload key BLOB is mandatory |
| 1288 | Invalid serial number prefix | 1354 | Invalid request message type |
| 1289 | Invalid serial number suffix | 1355 | Invalid response message type |
| 1302 | AES CTR encryption failed | 1361 | Invalid authentication tag |
| 1303 | Invalid request message pointer | 1362 | Invalid response message error length |
| 1337 | Unsupported message protocol version | 5001[1] | Unsupported request message protocol version |
| 1338 | Unsupported message type | 5002[1] | Unsupported request message type |
| 1341 | Message is not hexadecimal | 5003[1] | Unsupported request message protection type |
| 1342 | Invalid response message length | 5004[1] | Invalid request message length |
| 1344 | Invalid request message length | 5005[1] | Invalid request message; character not hexadecimal |
| 1345 | Invalid request message protection type | 5006[1] | Incorrect serial number in the request message |
| 1346 | Invalid message response protection type | 5007[1] | Invalid authentication tag in the request message |