oxo-dual-licenser¶
Generic dual-license runtime verification library for Traitome Rust projects.
oxo-dual-licenser provides an Ed25519-based license verification system
that can be embedded into any Rust application. It consists of two crates:
oxo-license— embeddable library for runtime license verificationoxo-license-issuer— CLI tool for generating key pairs and issuing licenses
Features¶
- Any license types — strings like
"academic","commercial","enterprise" - Offline verification — no network calls at runtime
- Configurable discovery — env vars, platform config dirs, CLI args
- Shared key infrastructure — one key pair per organization
- oxo-call compatible — can issue licenses for oxo-call
Quick Links¶
Compatibility with oxo-call¶
This library is designed as a generalization of the license system from oxo-call. It can:
- Verify oxo-call licenses — Pass the oxo-call public key and schema
- Issue oxo-call licenses — Use the same private key to sign licenses
- Replace oxo-call's license module — Configure
LicenseConfigwith oxo-call parameters
oxo-call Configuration Example¶
use oxo_license::LicenseConfig;
pub static OXO_CALL_CONFIG: LicenseConfig = LicenseConfig {
schema_version: "oxo-call-license-v1",
public_key_base64: "SOTbyPWS8fSF+XS9dqEg9cFyag0wPO/YMA5LhI4PXw4=",
license_env_var: "OXO_CALL_LICENSE",
app_qualifier: "io",
app_org: "traitome",
app_name: "oxo-call",
license_filename: "license.oxo.json",
};