secureLicense Pro

UID License API for software developers and companies

1. Creates unique UID for client software based on System Hardware(CPU,Motherboard,Hard-drive)(UID acts as Private Key for that unique system)
2. Allows to send Encrypted license string very easily to client system, It verifies license string and works on only that particular system
3. This method allows software developers or company to store more information about software/developer/distributor services/features/client
4. It gives control for locking and unlocked the client software features, saving time of developers for making more version for same software with changing features
5. It take cares about trial version too for any number of days
6. It secures the License timeline by Checking DateTime online during registration
7. It unlocks all hardware information to developers8. It has all pre-build and custom function that developer can access at every process of licensing for making more complex secure code

 

How to use?

All advance functions and their parameters

[CheckValidness]
bool bool_result = CheckValidness.isValid(string _licensePath, string _UID, string _securekey, string _softwareName,string _registryName)

_licensePath    : file path of license file(.ssLic)
_UID        : UID of target/client system
_securekey    : complex string for making license more secure
_softwareName    : name of the software(unique identifier if your company has other softwares for license)
_registryName    : for protected trial mode create registry name(unique for different softwares)

bool_result     : true     = (1.if License provided is valid of current desktop having '_UID' for the software '_softwareName' or 2. If the Free Trial period is still valid)
       : false    = (1.if License provided is not for current system, license is not real or 2. Trial Period is over)

-------------------------------------------------------------------

[TrialModeInfo]

TrialModeInfo.createTrial(string _registryName, string UID, string _securekey,int _trialDays)                      
_trialDays    : no of trial days you want to add

----------
Nullable<bool> bool_result = TrialModeInfo.isTrial(string _licensePath,string _UID,string _securekey,string _softwareName,string _registryName)
bool_result     : null     = if license is found and trial period is not going to check
       : true     = (If the Free Trial period is still valid)
       : false    = (Trial Period is over)

----------
Nullable<bool> bool_result = TrialModeInfo.Trial_RegistryExists(string _registryName)
bool_result     : true    = if trial registry key not found
       : false    = if trial registry key found

----------
Nullable<DateTime> dt    = TrialModeInfo.Trial_Starts(string _registryName)
dt        : if trial starting date exists in registry it returns decrypted date, if date is manupulated or not exists yet it returns null
----------
Nullable<DateTime> dt    = TrialModeInfo.Trial_Ends(string _registryName)
dt        : if trial ending date exists in registry it returns decrypted date, if date is manupulated or not exists yet it returns null

----------
double _double    : TrialModeInfo.TrialEndDays(string _registryName, string UID, string _securekey)
_double        : decrypts the trial period from dates stored in registry (left trial period days basically it returns integer as number of days)

-------------------------------------------------------------------

[GetLicense_Info]
    
//Reload the license for getting license info anytime untile the software running
Nullable<bool> bool_result= GetLicense_Info.Reload(string _licensePath, string _UID, string _securekey,string _softwareName)
bool_result     : null     = license not exists at path
       : true     = (if the license is valid for running system)
       : false    = (if license is not valid for running system)


//after the realod if license is valid you can get any information from license from these functions
    public class GetLicense_Info
    {
        public string UID ()

        public string Customer_Id ()
        public string Customer_Name ()
        public string Customer_Business ()
        public string Customer_Location ()
        public string Customer_Contact ()
        public string Customer_Mail ()

        public string Distributor_Id ()
        public string Distributor_Name ()
        public string Distributor_Location ()
        public DateTime Distributor_Service_starts ()
        public DateTime Distributor_Service_ends ()
        public string Distributor_Contact ()
        public string Distributor_Mail ()

        public DateTime License_Creation ()
        public DateTime License_Starts ()
        public DateTime License_Ends ()
        public DateTime License_Updated ()

        public string Software_Name ()
        public int Max_Users ()

        public Nullable<bool> Software_Feature_1 ()
        public Nullable<bool> Software_Feature_2 ()
        public Nullable<bool> Software_Feature_3 ()
        public Nullable<bool> Software_Feature_4 ()
        public Nullable<bool> Software_Feature_5 ()
        public Nullable<bool> Software_Feature_6 ()
        public Nullable<bool> Software_Feature_7 ()
        public Nullable<bool> Software_Feature_8 ()
        public Nullable<bool> Software_Feature_9 ()
        public Nullable<bool> Software_Feature_10 ()
        public Nullable<bool> Software_Feature_11 ()
        public Nullable<bool> Software_Feature_12 ()
        public Nullable<bool> Software_Feature_13 ()
        public Nullable<bool> Software_Feature_14 ()
        public Nullable<bool> Software_Feature_15 ()
        public Nullable<bool> Software_Feature_16 ()
        public Nullable<bool> Software_Feature_17 ()
        public Nullable<bool> Software_Feature_18 ()
        public Nullable<bool> Software_Feature_19 ()
        public Nullable<bool> Software_Feature_20 ()

    }

-----------------------------------

[GenerateLicense]

string _result     = GenerateLicense.StartProcess(string _licensekey,string _softwareName,string UID,string _securekey,string _licensePath, bool _checkDateTimeOnline)
_result        : "Done" (license generated from _licensekey)
       : "License not Started yet! Will start from :" (system datetime is not in between license period datetime)
       : "License is Expired! Ended at : " (system datetime is greater than license period datetime)
       : "Connect to Internet" (connect to internet for checking datetime online for more security)
       : "License Key is not valid for this Computer System" (license and running system UID are not same)
       : "Wrong key for this System, Try again!" (invalid license key)
       : "License key is Empty" (provided license has no string)


-------------------------------------
[HardwareInfo]

string _result     = HardwareInfo.GenerateUID(string _softwareName,string _securekey)
_result        : UID (unique identification for system generated from same CPU and Motherboard)


//other features that may you can use for license security
string HardwareInfo.GetLocalIPAddress()
string GetPublicIpAddress()
List<string> GetDrives()
string myDrives_info(string drivename)
string GetDiskVolumeSerialNumber()
string GetProcessorId()
string GetMotherboardID()
string GetMacAddress()

-------------------------------------
[InternetConn]

bool _result    = InternetConn.CheckConnection()
_result    : true,false

Nullable<DateTime> _dt    = InternetConn.GetDateTime()
_dt    : gets date from internet (depending of CultureInfo and DateTimeStyles.AssumeUniversal of system)