Availability: Authentication Suite Server SDK 4.0.2 and later
Service: Digipass Multi-Device Activation
Function prototype
aat_int32 AAL2GenGenMessageActivation1Cmd(aat_byte *Cmd,
aat_int32 *CmdSize,
TDigipassBlob *DPMAData,
TKernelParms *CallParms,
aat_ascii *StorageKeyName,
aat_ascii * StorageIV,
aat_ascii *Challenge,
aat_ascii *StaticVector,
aat_ascii *MessageVector,
aat_ascii *ActivationVector,
aat_byte *Fido2PublicKey,
aat_int32 Fido2PublicKeyLength);Description
This function creates a command that directs the HSM to generate an Activation Message 1 from the master activation application (the license), the static vector, the message vector, and the activation vector, and to return a result in the form of a reply. The Activation Message 1 allows to activate an authenticator license in the device.
It is only applicable to hardware or software authenticators compliant with the multi-device two-step activation (in context of multi-device licensing).
The Activation Message 1 is used in the multi-device activation process for all authenticator instances of a particular license.
This function must be used with the post-HSM AAL2ProcGenMessageActivation1Rpl() API function.
Parameters
| Type | Name | Use | Description |
|---|---|---|---|
| aat_byte * | Cmd | O | Up to 4924 bytes that serialize the GENERATE ACTIVATION MESSAGE 1 command type and input data to the function on the HSM:
Plus 40 bytes for Authentication Suite Server SDK internal use. |
| aat_int32 * | CmdSize | I/O | On entry, this parameter contains the size of the Cmd buffer. On exit, this parameter contains the length of the Cmd message. |
| TDigipassBlob | DPMAData | I | Digipass master activation application BLOB of the Digipass serial number license to use for the activation. |
| TKernelParms * | CallParms | I | Structure of runtime parameters to use during this function call. |
| aat_ascii * | StorageKey Name | I | String of up to 128+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 Digipass application BLOB data. |
| aat_ascii * | StorageIV | 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 | Optional string of 16 numeric or hexadecimal characters, left-justified, null-terminated or right-padded with spaces. This parameter holds the challenge which must be used to generate the Activation Message 1. If no challenge must be used to generate the Activation Message 1, this parameter must be NULL. |
| aat_ascii * | StaticVector | I | Software Digipass parameter settings, up to 4094 characters, null-terminated. |
| aat_ascii * | MessageVector | I | String of up to 26+1 characters containing the message parameter settings , null-terminated (obtained during import). |
| aat_ascii * | ActivationVector | I | String containing the activation vector corresponding to the Digipass serial number to activate (obtained during import). |
| aat_byte * | Fido2PublicKey | I | The public key that was created by the authenticator during the FIDO2 registration ceremony. It is used to bind the authenticator instance with the FIDO2 instance. |
| aat_int32 | Fido2PublicKeyLength | I | The size of the allocated buffer for the FIDO2 public key parameter. |
Return codes
| Code | Meaning | Code | Meaning |
|---|---|---|---|
| 0 | Success | 1268 | Invalid message vector version |
| 412 | Invalid checksum | 1269 | Invalid message vector pointer |
| 413 | Invalid Base64 format | 1270 | Invalid activation message pointer |
| 537 | Invalid static vector pointer | 1271 | Invalid activation message length pointer |
| 545 | Invalid static vector length | 1272 | Invalid message body type |
| 580 | Static vector light not found | 1273 | Invalid activation vector length |
| 1000 | Function does not support EMV-CAP | 1274 | Invalid message protocol version |
| 1118 | Unsupported BLOB | 1275 | Invalid message protection type |
| 1025 | Buffer too small | 1288 | Invalid serial number prefix |
| 1264 | Invalid master application | 1289 | Invalid serial number suffix |
| 1265 | Invalid master application data pointer | 1331 | Activation 1 not supported |
| 1266 | Invalid message vector pointer | -101 | Challenge too short |
| 1267 | Invalid message vector length | -102 | Challenge too long |