Skip to main content
Assumed ModelVersion: 3 (highest documented version at generation time) This method will return information about a license key, similar to Validate [Web API 2]. In contrast to activation, this method (aka Key Validation) will be in read only mode. That is, it will not add a device to the license nor use trial activation. More about this in Remarks. This method is accessed by https://api.cryptolens.io/api/key/GetKey

Parameters

Results

License Key (FieldsToReturn=0)

Metadata (FieldsToReturn=0)

You can hide metadata by checking.

Example results

If SignMethod=0
If SignMethod=1

Remarks

  • The feature lock value is used to store the filedsToReturn value. If you set a certain value in the feature lock, it will be prioritized higher than the fieldsToReturn parameter.
  • To compute the value of the feature lock, please use the Hide column, for those fields that you want to omit in the result above.
  • Hiding a column using the filedsToReturn does not remove the field from the result. It only removes the value of the field, for example by setting it to null.
  • (For first time use) Before you proceed with signing, please visit this page to generate your public/private key pair.
  • The SignMethod currently supports two ways of returning the license key information and signing the content. Linq Sign (0) - The default option supported in the SKM Client API for.NET. Everything is returned as a JSON dictionary with a signature attached to the license key object.
  • String Sign (1) - This option is tailored for cross platform applications and is the preferred way retrieving signed versions of the license key object. The license key is converted into a json string which is later stored in base64. This is then signed using RSA 2048 with SHA256.
Please note that in both cases, Sign has to be set to true if you want the license key to be signed.

Errors

Model Versions

This changelog list changes of the returned fields given the model version.
  1. This model has a few changes. First, we have added a Reseller object to the LicenseKey. Secondly, we have made sure that all node-locked and floating licenses are returned (unless field masking is used). We added FloatingExpires to ActivatedMachines so that you can check when the activatin was set to expire (note, this value can be overrriden when calling this method with a different FloatingTimeInterval).
  2. Add FriendlyName to ActivatedMachines in the license key.
  3. The original model.

FAQ

Can GetKey replace activation or a floating heartbeat?

GetKey requires the GetKey token permission and only retrieves information. It does not register a device, start trial activation, or acquire or renew a floating seat, even when floating usage metadata is requested. Use Activate for acquisition and renewal. A daily GetKey refresh and usage-counter updates do not extend a floating process’s last confirmed validity window.

Can GetKey return a blocked or expired license?

Yes. Successful retrieval is not permission to use the license. GetKey can return a license with Block=true, which your application must reject. Check Expires according to your licensing policy; retrieving the license does not enforce that policy for you. Request a signed response with Sign=true, verify its signature and expected product and license identity, and check required features and machine binding where configured. Cached and manually delivered files also require a signed-age check. An explicit API rejection, invalid signature, or failed license check must not be overridden with an older file. See the validation checklist and offline verification flow.