🔐 licverify
Enterprise-Grade License Verification for Rust
Secure, fast, and reliable license validation with hardware binding and automatic expiry enforcement
✨ Why licverify?
licverify is a Rust client for the go-license license verification system. It provides enterprise-grade license validation with cryptographic signatures, hardware binding, and automatic expiry enforcement, fully compatible with licenses generated by the go-license ecosystem.
🎯 Perfect For:
- 🏢 Enterprise Software: Mission-critical applications requiring secure licensing
- 🔬 Scientific Tools: Research software with institutional licensing
- 🎮 Gaming: Game engines and tools with hardware-locked licenses
- 💼 SaaS Applications: Cloud services with node-locked licensing
⚡ Security That Matters
| Feature | Benefit | Implementation |
|---|---|---|
| 🔐 RSA-SHA256 | Cryptographic integrity | 2048-bit RSA with SHA-256 |
| 💻 Hardware Binding | Device-locked licensing | MAC, Disk ID, Hostname |
| ⏰ Auto-Expiry | Time-based enforcement | Background monitoring |
| 🔄 Format Support | Legacy compatibility | Binary v2.0+ & JSON v1.x |
🚀 Quick Start
Add this to your Cargo.toml:
[]
= "0.1.0"
Usage
🔥 Basic License Verification
use Verifier;
async
🖥️ Command Line Interface
# Install from source
# Verify a license
Output:
License ID: 1
Customer: BMKG
Product: Digitizer
Serial: SN12345
Issue Date: 2025-04-29 07:57:17 UTC
Expiry Date: 2026-04-29 07:57:17 UTC
Features: basic, miniseed, seedlink
Days remaining: 225
✅ License is valid!
🛡️ Enterprise Features
🔒 Hardware Binding Verification
Prevent license sharing by binding to specific hardware:
use ;
let verifier = new?;
let license = verifier.load_license?;
// Check hardware binding
match verifier.verify_hardware_binding
// Get current hardware info
let hw_info = get?;
println!;
println!;
println!;
🚨 Basic Timer Implementation
use ;
use Duration;
use thread;
🛡️ Production-Ready License Guard
use Verifier;
use ;
use Duration;
use thread;
// Usage in your application
🏗️ Architecture & Compatibility
✨ Core Features
- 🚀 Cross-Platform: Supports Linux, Windows, and macOS
- 🔐 RSA-SHA256: 2048-bit RSA with PKCS#1 v1.5 padding
- 💻 Hardware Binding: MAC addresses, disk IDs, and hostname verification
- 📁 Dual Format: Binary (v2.0+) and JSON (v1.x) license support
- 🖥️ CLI Interface: Simple command-line verification tool
- 📚 Library: Embeddable Rust library for applications
- ⏰ Auto-Expiry: Background monitoring and enforcement
🔄 go-license Ecosystem Compatibility
This Rust implementation is fully compatible with the go-license ecosystem:
| Component | Repository | Purpose |
|---|---|---|
| 🔧 License Generator | go-license | Create and sign licenses |
| 🐍 Python Client | python-licverify | Python verification |
| 🦀 Rust Client | rust-licverify (this project) | Rust verification |
🔄 License Format Support
| Format | Version | Features | Status |
|---|---|---|---|
| Binary | v2.0+ | Full feature set | ✅ Supported |
| JSON | v1.x | Legacy compatibility | ✅ Supported |
| Signature | All | RSA-2048 + SHA-256 | ✅ Verified |
🌐 go-license Ecosystem
This project is part of the broader go-license ecosystem for cross-platform license management:
- 🔧 go-license - Main license generator and Go client
- 🐍 python-licverify - Python verification client
- 🦀 rust-licverify - Rust verification client (this project)
All clients can verify licenses generated by the go-license system interchangeably, providing flexibility for multi-language environments.
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
Development Setup
# Fork and clone the repository
# Run tests
# Format code
# Run linter
# Check for security vulnerabilities
Testing
# Run all tests
# Run with coverage
# Run benchmarks
Examples
# Basic usage example
# CLI verification