The Licensing SDK¶
Every EEI product checks its license the same way, because every product uses the same component to do it: the licensing SDK. The Licensing page explains what a license is and how it behaves for you. This page explains how the check itself is built, for the people who review it.
What it does¶
The SDK reads a license file, verifies EEI's digital signature over it, and decides what the product may do: which product it is for, how much capacity it grants, which optional features it enables, when it expires, and which servers it is bound to. It returns that decision to the product, which enforces it.
It does this entirely on your server. The SDK makes no network calls, so a license check works the same in an isolated or air-gapped network as on one with internet access.
How it is built¶
| What it means | |
|---|---|
| One written format | The license format is a written specification, and every implementation must conform to it. No implementation is the reference; the specification is |
| Signatures, not secrets | Licenses are signed with Ed25519, a modern public-key signature scheme. A product carries only EEI's public key, which can verify a license but cannot create one. The private signing key is never in a product or in the SDK's source code |
| One entitlement model | Capacity limits, feature flags and an expiry, in the same shape for every product. A new product adds its own names, not a new kind of license |
| Shared test cases | A common set of signed licenses and expected decisions, run by every language's tests. The Java and Python implementations verify each other's licenses, so a product written in either language reaches the same decision |
| Room for online checks | The check sits behind one interface, designed so that a later online source, such as automatic renewal for products connected to VirtualForge, can be added without changing how products enforce a license. That online source is not available yet |
About this SDK¶
| What it is | A shared library every EEI product is built with. Customers do not install it separately: it ships inside each product |
| Languages | Java, in EEI's Seeq connectors. Python, released. .NET in progress |
| Availability | Built into EEI products and documented openly. Not offered for third-party development |
Related¶
- Licensing: what a license contains, how it is bound to your server, and what happens at expiry.
- Installing a License: the procedure.
- The SDK inventory, for the rest of the family.