licensify 3.0.0 copy "licensify: ^3.0.0" to clipboard
licensify: ^3.0.0 copied to clipboard

A modern Dart library for secure license generation and validation using PASETO v4.

Changelog #

All notable changes to this project will be documented in this file.

3.0.0 2025-01-XX #

✨ Revolutionary Changes - Complete PASETO Migration #

This is a complete rewrite of the licensify library. The entire cryptographic foundation has been rebuilt from the ground up.

🚀 New Features

  • PASETO v4.public Implementation: Complete migration to PASETO tokens using Ed25519 signatures
  • Modern Cryptography: Replaced all legacy RSA/ECDSA with Ed25519 + BLAKE2b
  • PasetoLicenseGenerator: New license generator using PASETO v4.public tokens
  • PasetoLicenseValidator: New validator with tamper-proof signature verification
  • Real Ed25519 Key Generation: Powered by the cryptography package
  • Zero Legacy Dependencies: Removed PointyCastle, asn1lib, and crypto packages
  • Performance Boost: Ed25519 operations ~10x faster than previous ECDSA implementation
  • Compact Tokens: PASETO tokens are smaller and more efficient
  • Type-Safe API: Complete Dart type safety throughout the new architecture

💥 Breaking Changes

  • COMPLETE API REWRITE: All previous classes and methods have been replaced
  • RSA/ECDSA REMOVED: No longer supported - generate new Ed25519 keys
  • License Format Changed: Existing licenses cannot be validated - re-issue required
  • Dependencies Changed: New cryptographic dependencies (cryptography, paseto_dart)
  • CLI Temporarily Disabled: Will be restored in future versions

🔄 Migration Required

Old (v2.x) → New (v3.x)

// OLD - No longer works
final keyPair = EcdsaKeyGenerator.generateKeyPairAsPem(curve: EcCurve.p256);
final generator = keyPair.privateKey.licenseGenerator;
final license = generator(appId: 'app', expirationDate: date);

// NEW - PASETO v4
final keyPair = await Ed25519KeyGenerator.generateKeyPair();
final generator = PasetoLicenseGenerator(privateKey: keyPair.privateKey);
final license = await generator.generateLicense(
  licenseData: {'app': 'myapp'}, 
  expirationDate: date
);

⚡ Performance Improvements

  • Key Generation: ~39ms per Ed25519 key pair (vs ~100ms+ for ECDSA)
  • License Generation: ~6.6ms per license
  • License Validation: ~9.9ms per validation
  • Throughput: ~151 licenses/second total throughput
  • Token Size: ~734 characters (compact and efficient)

🛡️ Security Enhancements

  • Quantum-Resistant Foundation: Ed25519 provides better long-term security
  • No Algorithm Confusion: PASETO v4 fixes algorithms, preventing downgrade attacks
  • Tamper-Proof Tokens: PASETO provides built-in integrity protection
  • Modern Standards: Follows latest cryptographic best practices

2.2.0 2024-XX-XX (Legacy) #

Added #

  • Support for importing ECDSA keys from base64 parameters
  • Support for importing ECDSA keys from raw parameters
  • EcdsaParamsConverter utility for converting parameters to PEM format
  • Methods for importing ECDSA public keys from x, y coordinates and curve name
  • Methods for importing ECDSA private keys from scalar (d) value and curve name

Deprecated #

  • RSA for all cryptographic operations except key generation

2.1.0 2024-XX-XX (Legacy) #

Added #

  • ECDSA key generation support as an alternative to RSA
  • Utilities for comparing and choosing between RSA and ECDSA

Fixed #

  • Performance improvements in key operations
  • Better error handling for unsupported operations

1.0.0 2023-XX-XX (Legacy) #

Added #

  • Initial release with RSA-based license generation and validation
  • Basic CLI tool
  • License request/response workflow

Note: All versions prior to 3.0.0 are considered legacy and are no longer supported. Please upgrade to 3.0.0+ for PASETO-based modern cryptographic security.

6
likes
0
points
128
downloads

Publisher

verified publisherdart.nogipx.dev

Weekly Downloads

A modern Dart library for secure license generation and validation using PASETO v4.

Repository (GitHub)
View/report issues

Topics

#license #digital-signature #cryptography #software-licensing #paseto

Documentation

Documentation

Funding

Consider supporting this project:

liberapay.com

License

unknown (license)

Dependencies

args, cryptography, meta, paseto_dart, uuid

More

Packages that depend on licensify