Create configurations for licensing with activation codes

In SysAdmin, you can create the configurations needed for provisioning licenses based on activation codes:

  1. The configuration for how 10Duke Enterprise provisions licenses to a customer who redeems an activation code

  2. The configuration for the activation codes

See the developer guide for information on the complete process and the steps needed to set up the license provisioning and to generate activation codes.

If you later need to edit or delete either a license provisioning configuration or an activation code configuration, the activation codes created with the previous settings become invalid. Generate and distribute new activation codes as needed. The changes don’t affect licenses that have already been provisioned with the earlier codes.

Step 1: Create a license provisioning configuration

  1. In SysAdmin in the left sidebar, go to PRODUCT CONFIGURATION > Activation codes.

  2. Select Actions > Create license provisioning configuration.

  3. Define the details for the configuration:

    • Name: Define a name for the license provisioning configuration.

    • Valid from: Define the start date from which the configuration is valid. Use the format YYYY-MM-DD.

    • Valid until (optional): Define the end date after which the configuration is no longer valid. Use the format YYYY-MM-DD.

    • Description (optional): Write a short description.

  4. Define how the licenses are provisioned:

    • Product: Define the product package that is used for provisioning the licenses.

    • License validity period: Define the validity time of the provisioned licenses.

      Define either a start and end date and time, or the duration of the validity, or a combination of these. If no start date and time is defined, the license validity starts when a customer redeems an activation code and the licenses are provisioned.

      Define the time in ISO 8601 format.

      Examples of correctly formatted values:

      • P30D (a duration; 30 days)

      • P3Y6M4DT12H30M5S (a duration)

      • 2030-03-01T13:00:00Z/2031-03-01T13:00:00Z (a start and end date and time)

      • 2030-03-01T13:00:00Z/P1Y2M10DT2H30M (a start date and time and a duration)

    • Quantity: Define the number of licenses that are provisioned with one activation code.

  5. Click Save.

Your new configuration is now shown in the table.

Step 2: Add an activation code configuration

  1. In the table in PRODUCT CONFIGURATION > Activation codes, click the license provisioning configuration where you want to add the activation code configuration.

    The configuration details open below.

  2. Go to the Activation code configurations tab and select Actions > Create activation code configuration. A side panel opens.

  3. In Name, define a name for the activation code configuration.

  4. Define the validity of the activation codes. Make sure the dates are within the validity time of the license provisioning configuration:

    • Valid from: Define the start date from which the activation codes are valid. Use the format YYYY-MM-DD.

    • Valid until (optional): Define the end date after which the activation codes are no longer valid. Use the format YYYY-MM-DD.

      Note: If you don’t define an end date, the activation codes don’t expire. This means customers may potentially redeem codes a long time after you distributed them.

  5. Define how the activation codes are generated:

    • Product code: Define the product code that identifies this activation code configuration.

      This product code must be included in each activation code.

      We recommend that you use two-character product codes, and that you use the same character set that the 10Duke Activation Code Generator uses for activation codes. This allows you to create 1024 different product codes.

      If you think you will need a larger number of activation code configurations in the long run, use longer product codes.

    • Sequence length: Define the number of characters reserved for the sequence number in the activation code.

      The value range is 1-32. The default value is 5.

    • HMAC length: Define the number of characters reserved for the HMAC signature in the activation code. Define the separator in Group separator.

      The value range is 4-32. The default value is 9.

    • Group length: To divide an activation code into groups of characters, define the number of characters in a group.

      The minimum group length and the default value is 4.

      The maximum group length is the maximum length of an activation code: the sum of the lengths you defined for the product code, sequence number, and HMAC signature.

      To disable grouping, set this value to 0 (zero).

    • Secret key: Define the secret key, which is the shared secret used in HMAC authentication.

      We recommend that you use a cryptographically secure random generator to generate the secret key.

    • Group separator (optional): To divide an activation code into groups of characters, define the separator character used between the groups.

      The default separator is a hyphen (-).

  6. In Sample code, you can preview what the resulting activation codes will look like: click Generate to see a sample activation code.

  7. Click Save.

    Your new activation code configuration is now displayed in the table.

If you’re using a reseller to distribute the activation codes, you can assign your new activation code configuration to the reseller’s organization. This association is only for administrative purposes, it doesn’t affect the licenses created:

  1. On the Activation code configurations tab, select the configuration and select Actions > Assign organization.

  2. Search and select an organization, and click Confirm.

    You can change the organization in the same way. To remove the association to an organization, select Actions > Remove organization.

As the final step:

  1. On the Activation code configurations tab, select the configuration and select Actions > Command line.

  2. Click Copy to clipboard to copy the command shown in the dialog.

    This is the command template that you need later when you generate the activation codes.