Skip to main content

LicenseValidator

Struct LicenseValidator 

Source
pub struct LicenseValidator { /* private fields */ }
Expand description

Offline license validator

Implementations§

Source§

impl LicenseValidator

Source

pub fn new(public_key_hex: &str) -> Result<Self, LicenseError>

Create a new validator with the given public key (hex-encoded)

§Example
use offline_license_validator::LicenseValidator;

let validator = LicenseValidator::new(
    "913d5e19269699e51bcdb5c5a7106c278ef0e0fe92d31b76b6daf5bb00594fcf"
).unwrap();
Source

pub fn validate( &self, license_string: &str, current_hwid: &str, ) -> Result<ValidLicenseInfo, LicenseError>

Validate a license string

§Arguments
  • license_string - License in format: Base64(payload).Base64(signature)
  • current_hwid - Hardware ID of the current system
§Returns

Ok(ValidLicenseInfo) if license is valid, otherwise Err(LicenseError)

§Example
use offline_license_validator::LicenseValidator;

let validator = LicenseValidator::new("public_key_hex").unwrap();
match validator.validate("license_string", "hwid123") {
    Ok(info) => println!("Valid license: {:?}", info),
    Err(e) => eprintln!("Invalid license: {}", e),
}

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.