Activation keys are mini-contracts that are signed by Neo4j, granting access to a “feature”. Typically, features are entire applications like “Neo4j Desktop” or “Neo4j Bloom” but they may be also be used to toggle features within an application, like the experimental “application drawer” in Neo4j Desktop.
The content of an activation-key is signed with a private cryptographic key. Applications like Neo4j Desktop contain the paired cryptographic public key, allowing them to validate that the activation-key has not been altered. Neo4j Desktop itself has been code-signed for distribution on Windows and MacOS, forming a chain of trust which allows us to make use of the activation-key.
To be buzzword-friendly, you could say that an activation key is a single-link block chain. 🙂
Keys in Neo4j Desktop
Neo4j Desktop supports using activation keys for a few features:
- registering Neo4j Desktop itself, as a manual alaternative to the Social Sign-in registration
- activating Graph-Apps: Neo4j Bloom, Neo4j ETL
- activatinng some experimental features
Business rules for keys in Neo4j Desktop:
- activating a Graph-App installs that app. Once installed, the app can be used forever.
- an expired Graph-App key can not be used for installation.
- an expired Graph-App key will be prevent updates from being installed, but will not disable the Graph-App
Installing Activation Keys
- Start Neo4j Desktop
- Open the “User” drawer
- Click on “+ Add Activation Key”
- Paste in the entire contents of the activation key
- often, users will copy&paste just the “signature” field from the key. It is necessary to paste in the entire key
- sometimes, keys will get altered in transit by an email server or client, or a virus-protection software. Take a look at the key to see if any fields look funny
Keys for Neo4j Bloom
How to install activation keys
Version 1 — YAML
######################################## # NEO4J SOFTWARE FEATURE ACTIVATION CODE activationVersion: 1.0.0 featureName: neo4j-bloom featureVersion: <2.0 registrant: Neo4j Employee organization: 'Neo4j, Inc.' email: email@example.com publisher: neo4j.com expirationDate: '2019-07-02' signature: >- 3a0304b4658bdeb1469aaab512bf13b86f41a0ad4fcb60a5f00e97198bde361830ed00291b82c0bc5d5a24d6b727ea50ce46e2a40c0489d95303881348bb4627a510623e98a1738d32b97064d868597f39abaa52a249fa7df545c374f901a5cb6fdf40ec90c0076d42186152abeaf477095f3b6eb00738c801642028454da93e5211b460cf96216c659225cd64328d6c3513c08dce3f2d7ef6d8a1681f514d650314626003bf9ee863aacab9944de79b3761589dc7b5653bd9d8d36a311de75bdb06390bd0f70b039c5151165c570be252b8760ec5442ae8e3b0402588f9f27515d2dcadc270f6fa4eda89f4cae6fd9d4002e0d8f5035ad7c2d6fe0d6da0529d
- activationVersion: version of the license format (semver)
- featureName: (kebab-case org-featureName, where featureName may be further segmented using camelCase)
- featureVersion: valid version range (semver range)
- registrant: full name of contact person (Title Case)
- organization: official name of registrant’s organization (string)
- email: contact address for registrant (email)
- publisher: domain name of feature publisher (FQDN)
- expirationDate: year-month-day of expiration (string)
- signature: cryptographic signature of fields (hex)
Version 2 — JWT
- Last Modified: 2020-09-15 13:07:09 UTC by Andreas Kollegger.
- Relevant for Neo4j Versions: 3.4.
- Relevant keywords desktop.