Air Gapped License Activation

Our concept for air gap license activations is similar to the offline activation process, with the added constraint that files cannot leave the private network after the licensable software has been installed/deployed.

circle-info

Only key-based licenses can be activated as air-gapped licenses for now.

General Workflow for Issuing & Activating Air-Gapped Licenses

1

Add the air-gapped API key to the client SDK

2

Create an air-gapped license (either from a license policy or overriding an existing one)

3

Generate an initialization code with the license key from the air-gapped portal

4

Enter the license key and initialization code in the client application

5

Generate an activation code using the SDK

6

Generate a confirmation code from the air-gapped portal

7

Complete the activation process by entering the confirmation code in the SDK.

The air-gapped activation portal can be found here: airgap.licensespring.comarrow-up-right

circle-info

Contact usarrow-up-right to white label the air-gapped portal for your own subdomain!

Creating Air-Gapped Private/Public Keys

The key pairs can be regenerated, however the new public key would need to be re-entered into the SDK. The air gapped public key should be obfuscated inside of the SDK.

The key algorithm used for air gap company account keys and air gap license keys is EcDSAarrow-up-right. You can find the air-gapped private and public keys under "account settings" > "keys".

circle-exclamation
generating new key pair
Generated air-gapped keys

Create a License Policy for Air-Gapped Licenses

On the product detail page, go to the License policies tab and click on the "add license policy" button.

To mark policy as air-gapped switch the "set as air-gapped" toggle.

circle-info

Air gap license policies cannot be edited or deleted after they are created. The same is true for any air gapped license that has been issued.

Setting License Policy as Air-Gapped

Issuing Air-Gapped License Keys Through the Vendor Platform

Start the process as you would with any license: Click on the licenses tab in the left navigation > "Issue Licenses". When adding a product to the order, toggle "Set as air-gapped". All of the policies selectable from the drop-down will only be the policies defined as air-gapped:

The air gapped license is now created

Activating an Air-Gapped License

The air gap portal for license activation can be found at: airgap.licensespring.comarrow-up-right

The process of activation is done in 3 steps including actions on server (portal) and SDK.

1

Generate an Initialization Code From the Air-Gap Portal

Navigate to the air-gap portal, and click "Initialize air-gapped activation", enter the license key:

Initializing Air-Gap Activation

The portal will return an initialization code which, along with the license key needs to be entered in the SDK.

There is a QR code available to make the process of copying this information easier:

Initialization Code
2

Generate Activation Code From the SDK

This initialization_code must be imported to the SDK alongside with the license key. The SDK will verify the initialization_code and if successful will return the activation_code, along with the hardware_id values to the user so that user can take those strings back to the server.

3

Generate Confirmation Code From the Air-Gap Portal

On the air-gap portal, click "Enter Air-Gapped Activation Code"

Enter the license key, hardware_id, and activation_code

Entering Air-Gap Activation Code
Pop-Up To Enter Activation Code

The portal will return a policy ID and a confirmation code, as well as a QR code to make it easy to copy/paste this information.

circle-info

At this point, LicenseSpring will consider this license has been fully activated, even if the confirmation code and policy ID were not entered into the client application

triangle-exclamation
Final Pop-Up Confirming Activation

Enter this information into the client application, and the activation process should be complete!

circle-info

Airgap deactivation follows the same flow, you just need to toggle the initial view to Deactivation.

Airgap Deactivation

Frequently Asked Questions

chevron-rightWhat happens if the activation process fails on the end device?hashtag

If an air-gapped license activation fails on the device (e.g., due to an incorrect policyFilePath or confirmation code), the SDK will throw an error, and no local license file will be created. However, the license will still appear as "active" in the LicenseSpring portal. This behavior is due to the offline nature of the device and the inability of the server to validate the device's state. Ensure all inputs are correct before submitting the activation request.

chevron-rightCan I reset or reuse a license that failed to activate locally?hashtag

Currently, licenses marked as "active" in the LicenseSpring portal cannot be reactivated unless they are deactivated first. For this reason, it is critical to safeguard the JSON data or QR code provided during the activation process so you can re-enter it into the client application if an error occurs.

Was this helpful?