SimpleCORE
SECURITY & ACCESS / PROJECT

AccessCORE License SDK

One licensing decision across multiple languages.

Own product · Multi-language licensing SDK

Chapters 4Topics 15
PROJECT STORY
01 / 04

Core & decisions Shared core

01 / 04

Signing and verification share one Rust core

AccessCORE License SDK embeds license verification and entitlement enforcement in software products. A Rust core owns the token format, signatures, expiry, grace periods, machine binding, features, and quotas; thin language bindings consume its results.

Java, Python, and Go share decision semantics down to refusal message keys. AccessCORE License Studio uses the same core for issuance, keeping the issuer’s format and the product’s verification rules aligned.

The SDK is an embedded library rather than a standalone administration interface. A product attaches enforcement to its APIs, services, and interface, while Studio handles sales, contracts, and issuing operations.

Activation & lifecycle Online activation

01 / 04

Bind each activation response to its request and machine

After a product key is entered, the SDK hashes machine identifiers and builds a request with a one-time nonce. The application’s HTTP client sends it to the server, which checks the contract and seat allowance before returning a signed token and activation credentials.

The response is checked for its signature, request nonce, and machine match before it is stored and applied to the gate. These checks distinguish replayed responses and responses for other machines. Pending approval, exhausted seats, suspension, and revocation have separate outcomes.

Subsequent requests use the activation secret to compute HMAC-SHA256 over the exact transmitted body. The application sends the headers and body prepared by the SDK through its own HTTP client.

Language integration Java

01 / 03
dev.accesscore:license-sdk

Server integration for Java 17 and later

Binding
JNA · Jackson
Adapters
Spring · Servlet · JAX-RS · Reactor
Package
JAR with bundled native cores

Java calls the native core through JNA and exchanges data using Jackson. The JAR bundles platform cores and selects the appropriate library at load time. Java 17 or later is required.

Implement LicenseStore and ProductIdentity and embed public verification keys. LicenseEnforcementFilter controls unlicensed requests, while @RequiresFeature and quota checks protect the actual controllers and services.

Framework adapters are selected for Spring, Jakarta Servlet, JAX-RS, or Reactor as applicable. The artifact is available as dev.accesscore:license-sdk in GitHub Packages or as a release JAR; registry access requires read:packages permission.

Security & distribution Platforms

01 / 04
Rust → C ABI → Java / Python / Go

Native cores bundled for each supported platform

Linux
x86_64 · ARM64 / glibc
macOS
Intel · Apple Silicon
Windows
x86_64
musl
Linux x86_64 · Java/Python

Public distribution contains a Java JAR, Python wheel, Go module, and prebuilt native cores. Targets include Linux x86_64 and ARM64, Intel and Apple Silicon macOS, and Windows x86_64. Java and Python additionally support Linux x86_64 with musl.

Java and Python load shared libraries, while Go links static libraries. C ABI headers and binaries also support custom bindings in other languages. These artifacts do not imply browser JavaScript or WebAssembly support.

Choose the artifact for the language version, operating system, CPU, and build environment. The distribution repository provides runtime binaries, bindings, documentation, and shared conformance vectors rather than the Rust core’s source.

© 2026 SIMPLECORE INC.CONTEXT. STRUCTURE. EXPERIENCE.