Licensing
Overview
License format
Licences are generated in the JSON Web Token (JWT) format and are downloaded to a file such as 'License.lic'.
The JWT license contains three sections: Header.Payload.VerifySignature
See https://jwt.io/introduction/ for further details of the JWT format.
The payload section of the license contains field values including:
- license type - evaluation / commercial / enterprise
- expiry date
- App ID
- SDK supported features
The license is supplied as a text string similar to this example:
JWT Licence example:
eyJhbGciOiJSUzUxMiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJMTVMiLCJleHAiOjE1MjUxMzI3OTksImlhdCI6MTUyMjMzMzkwNCwicmlnaHRzIjpbIkJBWFRFUl9BQ0NFU1MiLCJDRExfQUNDRVNTIiwiQ0RMX0xJVkVfU1RSRUFNSU5HIiwiQ0RMX1RISVJEUEFSVFlfUEVOUyIsIkNETF9QSFVfMTExIiwiU0lHX1NES19DT1JFIiwiU0lHQ0FQVFhfQUNDRVNTIl0sImRldmljZXMiOltdLCJ0eXBlIjoiZXZhbCIsImxpY19uYW1lIjoiV2Fjb20gRGVtbyBTYW1wbGUiLCJ3YWNvbV9pZCI6bnVsbCwibGljX3VpZCI6IjVjNGM2MmUyLTRiYzUtNGQ2My1hOWY5LTNkZGI4NzZlNTg3NyIsImFwcHNfd2luZG93cyI6W10sImFwcHNfaW9zIjpbXSwiYXBwc19hbmRyb2lkIjpbXSwibWFjaGluZV9pZHMiOltdfQ.iq4w04_Ip5wRobYGvmxHmIrq2KvoE13U8uDjkcncnHVbrENLnQKGVZGueDCfwMtlwhfAZ83u5W7S9wBIkA25xHfxrp969GI0C8PfaQfyGrgbAp4K1WonXdcIF6PU7A5SCjx6PhylUjEw-8SCp7K4Qe14r019ZxD7_dQUlKTjB2mYcrxoZelZ6oRFyPVgAzHZ0VaYcicPtWUGUFSqspos08B_5XjHmrqMAGBgoWeIDwCDKNuKKKRxWinXGYz3kUm8aiC66jlk-B9W8D587jEJ0nPG_bY3k0FCoViU3F5qNRTrRbXfmPnjjsrQfCygKJx1bJwWkJfs3jnT2gP0K-i9oQ
A JWT viewer can be used to display the contents of a license string, for example:
{
"iss": "461c26c04e0d4b4289523b470d6b52a1",
"exp": 1564531200,
"iat": 1534514357,
"rights": [
"CDL_PHU_111"
],
"devices": [],
"type": "production",
"lic_name": "enterpriseGenerated",
"wacom_id": "bc5c1c740c594c6ea9c6e414fbe2edb2",
"lic_uid": "435dc411-f08f-4b81-9ac6-779c8d1569a7",
"apps_windows": [
"WIN-APP-ID"
],
"apps_ios": [],
"apps_android": [],
"machine_ids": []
}
The license contents can be viewed but not changed since the data is digitally signed.
APP ID
Most licenses require an Application ID (App ID) and this will be required when generating a license on the LMS or when requesting a license from Wacom Sales.
An APP ID is used to publish an application online (e.g. Apple Store or Google Play).
The same ID is used to generate an application license. An example could be:
com.health.mycompany.registration
An App ID is not required for an evaluation license.
To locate the App Id in an application's source code:
Platform | App ID |
---|---|
Windows Classic | Application IDs do not exist in this platform, so there are no checks even for Production |
Windows UWP | Application IDs should match the Windows.ApplicationModel.Package.Current.Id.Name |
iOS | Application IDs should match ‘Bundle Identifier’, e.g. displayed under: Xcode->Project->General->Identity |
Android | Application IDs should match the android.defaultConfig.applicationId, found in the build.gradle file. |
License Installation
The method of license installation is application dependent.
Generally the license string will be copied into the application code, for example:
try {
InputStream license = assetManager.open("license.lic");
LicenseBootstrap.initLicense(this.getApplicationContext(), LicenseBootstrap.readFully(license));
}
To deal with license upgrades and expiry dates we recommend that the license is set dynamically and is not hardcoded in the application. For example read the JWT license string from a file at runtime.
License Expiry
A license becomes invalid when it expires for one of the reasons:
- evaluation expiry date exceeded
- licence expiry date exceeded
When a license expires the related SDK functions cease to operate and instead return a license error code. The error condition must be handled by the application.
An exception to this rule is the Wacom Ink SDK for signature:
- Expired production license: when the license has expired the SDK remains fully functional but signatures will be displayed with an 'Evaluation' watermark.
- Expired evaluation license: when the license has expired signature capture will return an error.
Using the License Management System (LMS)
This is currently restricted to the management of evaluation licenses. Please note that the license generation and download process is known to have problems operating with Edge so preferably use another browser.
- Open the Developer Dashboard . To open the page you will need to login with your Wacom ID.
- Select Licenses to display the Manage License Keys page
- Click <New Evaluation License> :
•You can now select <Generate Evaluation License> for the required product:
- A message box indicates that a license has been created:
- Select Licenses to return to the "Manage License Keys" page. License keys are now available for download:
- Click the DOWNLOAD icon to download the license. The license will be saved to a file named 'license.txt' by default.
At any time you can click the link to Renew License, then download a new license with a revised expiry date:
To install the license follow the instructions supplied in the relevant SDK sample code Getting-Started guide.
SDK Sample code is supplied in GitHub and listed here: GitHub Welcome Page
How to get a Production License
A production license for the Wacom Ink SDK for Signature for Windows (Lite version) is now provided in the GETTING STARTED document which is found in the Signature SDK samples on GitHub. At this time all other production licenses must be requested from your regional Wacom Sales representative. If you do not have contact with a Wacom Sales Representative, please inform us here:
Select Contact Sales in https://developer.wacom.com