Licensing
Overview
Licence format
Licences are generated in the JSON Web Token (JWT) format and are downloaded to a file such as 'License.lic'.
The JWT licence contains three sections: Header.Payload.VerifySignature
See https://jwt.io/introduction/ for further details of the JWT format.
The payload section of the licence contains field values including:
- licence type - evaluation / commercial / enterprise
- expiry date
- App ID
- SDK supported features
The licence 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 licence 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 licence contents can be viewed but not changed since the data is digitally signed.
APP ID
Most licences require an Application ID (App ID) and this will be required when generating a licence on the LMS (Licence Management System) or when requesting a licence 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 licence. An example could be:
com.health.mycompany.registration
An App ID is not required for an evaluation licence.
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. |
Licence Installation
As mentioned, the licence is supplied as a JWT licence token that can be obtained from Wacom's Developer Relations page
Importing the licence from a text file
To deal with licence upgrades and expiry dates, we recommend the licence to be set dynamically and not hard-coded within the application. The recommended alternative is storing the licence key within a file or database and assigning it to a variable, allowing the license to be read at runtime.
This avoids needing to modify the application code every time updating the licence is necessary.
The method of licence installation is application-dependent.
Generally, the licence string will be copied into the application code, for example:
try {
InputStream license = assetManager.open("license.lic");
LicenseBootstrap.initLicense(this.getApplicationContext(), LicenseBootstrap.readFully(license));
}
For manual insertion, more specific information can be viewed here:
- For the Signature SDK for Windows
Licence Expiry
A licence becomes invalid when it expires for one of the following reasons:
- evaluation expiry date exceeded
- licence expiry date exceeded
When a licence expires the related SDK functions cease to operate and instead return a licence error code. The error condition must be handled by the application.
An exception to this rule is the Wacom Ink SDK for signatures:
- Expired production licence: when the licence has expired the SDK remains fully functional but signatures will be displayed with an 'Evaluation' watermark.
- Expired evaluation licence: when the licence has expired signature capture will return an error.
Using the Licence Management System (LMS)
This is currently restricted to the management of evaluation licences. Please note that the licence 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 licence has been created:
- Select Licenses to return to the "Manage License Keys" page. License keys are now available for download:
- Click the Copy icon to copy the license key to the clipboard.
To install the licence 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 Licence
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 licences 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 the "Contact" link at the top of https://developer.wacom.com