Function prototype
aat_int32 AAL2ProcGenPayloadKeyBlobRpl(
aat_byte *InReply,
aat_int32 ReplySize,
TDigipassBlob *DPMAData,
aat_ascii *PKBlob,
aat_int32 *PKBlobLength);
Description
This function processes a reply from the HSM to a payload key BLOB generation command which has been generated with AAL2GenGenPayloadKeyBlobCmd.
The payload key BLOB generation on the HSM is identical to the functionality available with the Authentication Suite Server SDK Software Digipass Multi-Device Activation Service. For information on the associated functions, refer to the Authentication Suite Server SDK C-C++ Programmer's Guide.
Parameters
Table: Parameters (AAL2ProcGenPayloadKeyBlobRpl) | Type | Name | Use | Description |
|---|
| aat_byte * | InReply | I | String of up to 86 bytes that contain the PAYLOAD KEY BLOB GENERATION command type and the output data from the payload key BLOB generation function on the HSM: - Command type - 2 bytes
- Payload key BLOB - 72 bytes
- Return code - 4 bytes
Plus 8 bytes for Authentication Suite Server SDK internal use. |
| aat_int32 | ReplySize | I | The length of the InReply message. |
| TDigipassBlob | DPMAData | 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. |
| aat_ascii * | PKBlob | O | A string of 88+1 characters, null-terminated. It contains the generated payload key BLOB for a Digipass serial number license. Upon return from the function call, this BLOB must be rewritten to the application database to reflect changes. |
| aat_int32 * | PKBlobLength | I/O | In input, this parameter must indicate the size of the allocated buffer for the PKBlob parameter (recommended 89 bytes). In output, this parameter indicates the length of the PKBlob string (without the null-terminated character). |
Return codes
Table: Return codes (AAL2ProcGenPayloadKeyBlobRpl) | Code | Meaning | Code | Meaning |
|---|
| 0 | Success | 1118 | Unsupported BLOB |
| 701 | Invalid input buffer pointer | 1262 | Payload key data buffer too small |
| 910 | Invalid HSM command in reply | 1264 | Invalid master application |
| 912 | HSM invalid BLOB status | 1265 | Invalid master application data pointer |
| 913 | Invalid HSM key property | 1267 | Invalid message vector length |
| 917 | Key type inconsistent | 1268 | Invalid message vector version |
| 951 | Invalid HSM key type for HSM decryption | 1286 | Invalid payload key data pointer |
| 1009 | Invalid TLV total length | 1287 | Invalid payload key data length pointer |
| 1018 | Invalid TLV item pointer | 1310 | Invalid payload key type |
| 1019 | Missing mandatory TLV item | 1316 | Secure Channel not supported |
| 1025 | Data buffer too small | | |