Last Modified October 1, 2026

Activation API V1 - Validate the License

  1. Introduction
  2. Implementing Local Validation

 

Validation of the DNA License with the DNA Servers is done:

To validate an existing DNA License:

  • read-in the DNA License
  • verify the Signature
  • if using node-locking recreate the <DEVICE_ID> to use in the API call
  • issue the WEB_Validate()
  • save the new DNA License (even if failure)

The App should watch for the following key results:

dnaError   <=   ERR_NO_ERROR (0)
  • The License is valid
  • The application can run or continue to run
dnaError   >   ERR_NO_ERROR (0)
  • The License is not valid
  • The application should start the Activation process.

It is possible to trap some error codes at this stage, but it is recommended to implement additional error trapping during the Activation step.

See DNA API Error Codes     for the definition of the different Error Codes.

 

Implementing Local Validation

Optionaly, you can implement a Local Validation to speed up the validation versus always validating with the DNA Servers, as follows:

  1. read-in the DNA License if it exists
  2. verify the Signature
  3. if using node-locking recreate the <DEVICE_ID> and compare to the <DEVICE_ID> value in the DNA License
  4. check the <EXPIRY_DATE> of the License
  5. to limit DNA Server Validations to 1 /day, check the latest of <ACTIVATION_DATE> or <VALIDATION_DATE> (if it exists) to see if more than XX hours have passed since the last event, typically 24 hours

If any of the checks fail, issue a WEB_Validate call. This will respond with a new DNA License (either a valid License or a disabled License).

If all checks pass, the Application can run.