com.vs.ezlicgen
Class EzLicenseFullInfo

java.lang.Object
  extended bycom.vs.ezlicrun.EzLicenseInfo
      extended bycom.vs.ezlicgen.EzLicenseFullInfo
All Implemented Interfaces:
java.io.Serializable

public class EzLicenseFullInfo
extends com.vs.ezlicrun.EzLicenseInfo

The class manages the state of the information pertaining to a license key and provides methods to generate and parse a license key, recharge and deactivate the EasyLicenser installation, as well as those pertaining to the internal functioning of the license manager itself.

To generate a key, use the appropriate static method for the license model, with the appropriate parameters:

  1. Single user desktop license:generateSingleUserKey
  2. Server license:generateServerKey
  3. Floating license for Orion license server:generateFloatingKey

The class can also be used for key generation in legacy mode or for complete flexibility, as follows:
1. Instantiate this class through its default constructor.
2. Invoke its mutators (and those of its superclass) to provide the information necessary to generate the key.
3. Invoke generateKey() to generate the key, providing the username and optionally an application password to use for encoding the custom key and cookie and for validating the application identity.

The class is used for examining an existing license key for display purposes as follows:
1. Instantiate this class through its default constructor.
2. Invoke parseLicenseKey() providing the license key to be parsed.
3. Invoke its accessors to obtain the decomposed parts of the key. Changes for 2.0: 1. Expiration dates: based on absolute timestamps. 2. Trial-generation mode: allow expiration dates <= expiration cap 3. Context initialization for factory methods. New in 2.0: 1. Additional key content: key version, application password 2. Private-key-encrypted custom key and cookie if application password specified.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class com.vs.ezlicrun.EzLicenseInfo
com.vs.ezlicrun.EzLicenseInfo.Hfile, com.vs.ezlicrun.EzLicenseInfo.Util
 
Field Summary
 
Fields inherited from class com.vs.ezlicrun.EzLicenseInfo
CHKID, CKSM, CNC, COOKY, CPU, createTs, CST, CUST, ENF, EXP, EXPTS, EZLIC_DEFAULT_TIME_TOLERANCE_HRS, EZLIC_KEY_VSN, EZLIC_KEY_VSN_CURR, EZLIC_KEY_VSN_NEXT, EZLIC_MODE_CUSTOM_COOKIE, EZLIC_MODE_CUSTOM_KEY, EZLIC_MODE_METERED, EZLIC_MODE_OPTIONS, EZLIC_MODE_TIME, EZLIC_MODEL_SERVER, EZLIC_MODEL_USER, EZLIC_TYPE_SVR_CONC, EZLIC_TYPE_SVR_CPU, EZLIC_TYPE_SVR_MHZ, EZLIC_TYPE_SVR_NMU, EZLIC_TYPE_U_FLOAT, EZLIC_TYPE_U_NODE, EZLIC_TYPE_U_USER, EZLM_MAJOR_VERSION_NUMBER, EZLM_MINOR_VERSION_NUMBER, FLT, HST, MHZ, NET, NMU, NUMPIECES, OPT, PROD, PWD, QTA, TS, USR, VSN, WHEN, WHO
 
Constructor Summary
EzLicenseFullInfo()
           
 
Method Summary
static java.lang.String deactivateEzlmInstallation(java.lang.String username)
          deactivateEzlmInstallation: deactivate the EasyLicenser installation and return an encrypted confirmation token.
static EzLicenseFullInfo generateChainedKey(java.lang.String sourceLicenseKey, java.lang.String ISVuserName, java.lang.String productName, java.lang.String appPassword, long userLimitIncrement, boolean isNewExpirationDate, java.util.Date newExpirationDate, boolean isNewQuotaLimit, long newQuotaLimit, java.lang.String[] newOptions)
          Factory method to generate an incremental floating license key that is chained to an existing unexpired license key, such that the new key can only be used to replace the old key, and the license units that are consumed only correspond to the specified incremental user limit.
static EzLicenseFullInfo generateFloatingKey(java.util.Date now, java.lang.String ISVusername, java.lang.String customerName, java.lang.String serviceName, java.lang.String productName, java.lang.String appPassword, java.lang.String userHostName, long userLimit, java.util.Date expirationDate, long quotaLimit, java.lang.String[] optionsVector, boolean enforce)
          Generate floating license key for Orion license server, for applications that are protected with the Orion (not EasyLicenser) runtime library.
 java.lang.String generateKey(java.lang.String userName)
          Generate license key based on class context that was set up through its mutators.
 java.lang.String generateKey(java.lang.String userName, java.lang.String appPassword)
          Generate license key based on class context that was set up through its mutators, encoding the custom key and cookie with the private key derived from the specified secret application password if not null.
 java.lang.String generateKey(java.lang.String userName, java.lang.String vendorPasswd, java.lang.String vendorCookie, boolean createConfig)
          NOTE: THIS METHOD IS INTENDED FOR INTERNAL USE BY THE EASYLICENSER VENDOR CODE.
 java.lang.String generateKey(java.lang.String userName, java.lang.String vendorPasswd, java.lang.String vendorCookie, boolean createConfig, java.lang.String appPassword)
          NOTE: THIS METHOD IS INTENDED FOR INTERNAL USE BY THE EASYLICENSER VENDOR CODE.
static EzLicenseFullInfo generateServerKey(java.util.Date now, java.lang.String ISVusername, java.lang.String customerName, java.lang.String productName, java.lang.String appPassword, java.lang.String userHostName, long serverLimit, int serverLicenseType, java.util.Date expirationDate, long quotaLimit, java.lang.String customKey, java.lang.String customCookie, java.lang.String[] optionsVector, boolean enforce)
          Generate server license key for a server application protected with EasyLicenser runtime library.
static EzLicenseFullInfo generateSingleUserKey(java.util.Date now, java.lang.String ISVusername, java.lang.String customerName, java.lang.String productName, java.lang.String appPassword, java.lang.String userHostName, boolean hostOnly, java.util.Date expirationDate, long quotaLimit, java.lang.String customKey, java.lang.String customCookie, java.lang.String[] optionsVector, boolean enforce)
          Generate single-user license key.
 java.util.Date getCreationDate()
          getCreationDate: returns license key creation date
 long getCreationTimestamp()
          getCreationTimestamp: returns license key creation timestamp expressed as # of milliseconds past beginning-1970.
 java.lang.String getCreatorUsername()
          getCreatorUsername: returns license key creator user name
 java.lang.String getEndCustomerCompanyName()
          getEndCustomerCompanyName: returns license key end customer company name
static int getEzlmKeyVersion()
           
static boolean getFloatingEnabled()
           
 java.lang.String getId()
          getId: returns a unique identifier that serves as a surrogate for the unique license key (which is very long).
 long getLuConsumption(EzLicenseVendorLuPolicy luPolicy)
          Obtain the license-unit consumption for this license key based on the specified vendor license unit policy.
 java.lang.String getProductName()
          getProductName: returns license key ISV product name
 void parseLicenseKey(java.lang.String licenseKey, java.lang.String username)
          Parse the given EasyLicenser 1.1 style license key, setting up the license parameters in the class context.
 void parseLicenseKey(java.lang.String licenseKey, java.lang.String username, java.lang.String product, java.lang.String appPassword)
          Parse the given license key, setting up the license parameters in the class context.
static void rechargeEzlmKey(java.lang.String newLicenseKey, java.lang.String username)
          rechargeEzlmKey: recharge EasyLicenser license key based on an existing ISV license key, setting the license info context to the new values and returning the resultant new license key that reflects the updated quota and expiration date.
static EzLicenseFullInfo regenLicenseKey(java.lang.String oldLicenseKey, long balanceQuota, java.lang.String newLicenseKey)
          NOTE: INTERNAL METHOD NOT INTENDED FOR USE BY ISV.
static EzLicenseFullInfo regenLicenseKey(java.lang.String vendorPasswd, java.lang.String oldLicenseKey, long balanceQuota, java.lang.String newLicenseKey)
          NOTE: INTERNAL METHOD NOT INTENDED FOR USE BY ISV.
 void setCreationDate(java.util.Date creationDate)
          setCreationDate: sets license creation date
 void setCreationTimestamp(long creationTimestamp)
          setCreationTimestamp: sets license creation timestamp to # of milliseconds past beginning-1970.
 void setCreatorUsername(java.lang.String creatorUsername)
          setCreatorUsername: sets license key creator user name
 void setEndCustomerCompanyName(java.lang.String endCustomerCompanyName)
          setEndCustomerCompanyName: sets license key end-customer company name
 void setProductName(java.lang.String productName)
          setProductName: sets ISV product name
 
Methods inherited from class com.vs.ezlicrun.EzLicenseInfo
checkDebug, checkLicenseKey, checkLicenseKey, checkLicenseKey, checkLicenseKey, checkLicenseKey, checkLicenseKeySecure, checkLicenseKeySecure, checkLicenseKeySecure, checkLicenseKeySecure, checkLicenseKeySecure, checkLongValue, checkMultiUserLicenseKeyBasic, checkMultiUserLicenseKeyBasic, checkMultiUserLicenseKeyBasic, checkSingleUserLicenseKeyBasic, checkSingleUserLicenseKeyBasic, checkSingleUserLicenseKeyBasic, cleanupKeyCookie, cleanupKeyCookie, compareOsd, createKeyCookieSeed, createKeyCookieSeed, createKeyCookieSeed, getAppPwd, getChainedKeyId, getCustomCookie, getCustomKey, getEnforce, getExpirationDate, getExpirationTs, getEzlmVersionInfo, getKeyCookieAppState, getKeyCookieQuotaToDate, getKeyCookieTs, getKeyVersion, getLicenseKey, getLicenseModeBitmap, getLicenseModelCode, getLicenseTypeCode, getOptions, getQuotaValue, getTimeToleranceHrs, getUsageValue, getUserHostNetName, getWarningsBitmap, lookupKey, makeChecksum, makeDate, setChainedKeyId, setCustomCookie, setCustomKey, setEnforce, setExpirationDate, setKeyVersion, setLicenseKey, setLicenseModeBitmap, setLicenseModelCode, setLicenseTypeCode, setOptions, setQuotaValue, setTimeToleranceHrs, setUsageValue, setUserHostNetName, setWarningsBitmap
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EzLicenseFullInfo

public EzLicenseFullInfo()
Method Detail

getId

public java.lang.String getId()
                       throws com.vs.ezlicrun.EzLicExceptionBase
getId: returns a unique identifier that serves as a surrogate for the unique license key (which is very long). The ID is guaranteed to be globally unique across all EasyLicenser installations and customers as long as generated keys are not purged from the key database, and is immutable over time. The value is derived, and there is no corresponding mutator.

Returns:
license key identifier string
Throws:
com.vs.ezlicrun.EzLicExceptionBase

getCreatorUsername

public java.lang.String getCreatorUsername()
getCreatorUsername: returns license key creator user name

Returns:
license key creator user name string

getEndCustomerCompanyName

public java.lang.String getEndCustomerCompanyName()
getEndCustomerCompanyName: returns license key end customer company name

Returns:
license key end-customer company name

getProductName

public java.lang.String getProductName()
getProductName: returns license key ISV product name

Returns:
license key ISV product name

getCreationDate

public java.util.Date getCreationDate()
getCreationDate: returns license key creation date

Returns:
license key creation date

getCreationTimestamp

public long getCreationTimestamp()
getCreationTimestamp: returns license key creation timestamp expressed as # of milliseconds past beginning-1970.

Returns:
license key creation timestamp

setCreatorUsername

public void setCreatorUsername(java.lang.String creatorUsername)
setCreatorUsername: sets license key creator user name

Parameters:
creatorUsername - the license key creator user name

setEndCustomerCompanyName

public void setEndCustomerCompanyName(java.lang.String endCustomerCompanyName)
setEndCustomerCompanyName: sets license key end-customer company name

Parameters:
endCustomerCompanyName - name of end-customer company the license key

setProductName

public void setProductName(java.lang.String productName)
setProductName: sets ISV product name

Parameters:
productName - name of ISV product

setCreationDate

public void setCreationDate(java.util.Date creationDate)
setCreationDate: sets license creation date

Parameters:
creationDate - license key creation date

setCreationTimestamp

public void setCreationTimestamp(long creationTimestamp)
setCreationTimestamp: sets license creation timestamp to # of milliseconds past beginning-1970.

Parameters:
creationTimestamp - license key creation timestamp

generateSingleUserKey

public static EzLicenseFullInfo generateSingleUserKey(java.util.Date now,
                                                      java.lang.String ISVusername,
                                                      java.lang.String customerName,
                                                      java.lang.String productName,
                                                      java.lang.String appPassword,
                                                      java.lang.String userHostName,
                                                      boolean hostOnly,
                                                      java.util.Date expirationDate,
                                                      long quotaLimit,
                                                      java.lang.String customKey,
                                                      java.lang.String customCookie,
                                                      java.lang.String[] optionsVector,
                                                      boolean enforce)
                                               throws com.vs.ezlicrun.EzLicExceptionBase
Generate single-user license key. The operation will succeed provided the balance quota allows it and the ISV is licensed for the eCommerce option.

Parameters:
now - the current date/time. If specified (eg. for regression testing of a back office key generation system), this is the creation timestamp that is recorded in the key. Otherwise, the current date/time is used.
ISVusername - ISV user name
customerName - the name of the end customer that is recorded in the key for auditing purposes
productName - the product name, which must match the product name that is provided by the application at run time.
appPassword - application password seed for the product. The encryption is with a private key derived from this password. The application password is also embedded in the application code, which passes it into the license key check API call when running at the end customer site.
userHostName - the user / host name for the license key. If enforce is true, this is the node locking information, and may be a combination of OS username and OS hostname, or a machine fingerprint obtained from the end customer by having the run the ezlmfputil
hostOnly - whether the user/host name only has a hostname component and no username component. This governs whether the license type is "user" or "machine".
expirationDate - the expiration date for the license, if it is time limited. Specify null if the license is not time limited.
quotaLimit - the quota limit for a metered license. Specify -1 if the license is not quota limited.
customKey - custom key value for embedding into the custom key attribute of the license key, or null if no custom key
customCookie - custom cookie value for embedding into the custom cookie attribute of the license key, or null if no custom cookie
optionsVector - an array of "option=value" pairs representing product options.
enforce - whether to enforce built-in node locking
Returns:
generated key's license info context
Throws:
com.vs.ezlicrun.EzLicExceptionBase - if the key context wasn't set up properly, or the key becomes too big.

generateServerKey

public static EzLicenseFullInfo generateServerKey(java.util.Date now,
                                                  java.lang.String ISVusername,
                                                  java.lang.String customerName,
                                                  java.lang.String productName,
                                                  java.lang.String appPassword,
                                                  java.lang.String userHostName,
                                                  long serverLimit,
                                                  int serverLicenseType,
                                                  java.util.Date expirationDate,
                                                  long quotaLimit,
                                                  java.lang.String customKey,
                                                  java.lang.String customCookie,
                                                  java.lang.String[] optionsVector,
                                                  boolean enforce)
                                           throws com.vs.ezlicrun.EzLicExceptionBase
Generate server license key for a server application protected with EasyLicenser runtime library. Note that this is not for concurrent-user floating licensing - use generateFloatingKey for Orion floating keys. The operation will succeed provided the balance quota allows it and the ISV is licensed for the eCommerce option.

Parameters:
now - the current date/time. If specified (eg. for regression testing of a back office key generation system), this is the creation timestamp that is recorded in the key. Otherwise, the current date/time is used.
ISVusername - ISV user name
customerName - the name of the end customer that is recorded in the key for auditing purposes
productName - the product name, which must match the product name that is provided by the application at run time.
appPassword - application password seed for the product. The encryption is with a private key derived from this password. The application password is also embedded in the application code, which passes it into the license key check API call when running at the end customer site.
userHostName - the user / host name for the license key. If enforce is true, this is the node locking information, and may be a combination of OS username and OS hostname, or a machine fingerprint obtained from the end customer by having the run the ezlmfputil
serverLimit - server limit as a function of license type: concurrent user limit / named-role limit / CPU count limit / CPU MHZ limit.
serverLicenseType - license type code - whether limited by concurrent users, named roles, CPU count or CPU MHZ
expirationDate - the expiration date for the license, if it is time limited. Specify null if the license is not time limited.
quotaLimit - the quota limit for a metered license. Specify -1 if the license is not quota limited.
customKey - custom key value for embedding into the custom key attribute of the license key, or null if no custom key
customCookie - custom cookie value for embedding into the custom cookie attribute of the license key, or null if no custom cookie
optionsVector - an array of "option=value" pairs representing product options.
enforce - whether to enforce built-in node locking
Returns:
generated key's license info context
Throws:
com.vs.ezlicrun.EzLicExceptionBase - if the key context wasn't set up properly, or the key becomes too big.

generateFloatingKey

public static EzLicenseFullInfo generateFloatingKey(java.util.Date now,
                                                    java.lang.String ISVusername,
                                                    java.lang.String customerName,
                                                    java.lang.String serviceName,
                                                    java.lang.String productName,
                                                    java.lang.String appPassword,
                                                    java.lang.String userHostName,
                                                    long userLimit,
                                                    java.util.Date expirationDate,
                                                    long quotaLimit,
                                                    java.lang.String[] optionsVector,
                                                    boolean enforce)
                                             throws com.vs.ezlicrun.EzLicExceptionBase
Generate floating license key for Orion license server, for applications that are protected with the Orion (not EasyLicenser) runtime library. For complete details on how to compose the floating license key, see the Orion License Administration Guide chapter of the Orion product documentation. You must be a licensed Orion user in order to be able to generate Orion floating license keys. The operation will succeed provided the balance quota allows it and the ISV is licensed for the eCommerce option.

Parameters:
now - the current date/time. If specified (eg. for regression testing of a back office key generation system), this is the creation timestamp that is recorded in the key. Otherwise, the current date/time is used.
ISVusername - ISV user name
customerName - the name of the end customer that is recorded in the key for auditing purposes
serviceName - the name of the Orion service, default if null.
productName - the product name, which must match the product name that is provided by the application at run time.
appPassword - application password seed for the product. The encryption is with a private key derived from this password. The application password is also embedded in the application code, which passes it into the license key check API call when running at the end customer site.
userHostName - the user / host name for the license key. If enforce is true, this is the node locking information, and may be a combination of OS username and OS hostname, or a machine fingerprint obtained from the end customer by having the run the ezlmfputil
userLimit - Orion floating user hard limit.
expirationDate - the expiration date for the license, if it is time limited. Specify null if the license is not time limited.
quotaLimit - the quota limit for a metered license. Specify -1 if the license is not quota limited.
optionsVector - an array of "option=value" pairs representing product options, including Orion system options.
enforce - whether to enforce built-in node locking
Returns:
generated key's license info context
Throws:
com.vs.ezlicrun.EzLicExceptionBase - if the key context wasn't set up properly, or the key becomes too big.

generateKey

public java.lang.String generateKey(java.lang.String userName)
                             throws com.vs.ezlicrun.EzLicExceptionBase
Generate license key based on class context that was set up through its mutators. The operation will succeed provided the balance quota allows it and the ISV is licensed for the eCommerce option.

Parameters:
userName - ISV user name
Returns:
generated key (also set up in class context)
Throws:
com.vs.ezlicrun.EzLicExceptionBase - if the key context wasn't set up properly, or the key becomes too big.

generateKey

public java.lang.String generateKey(java.lang.String userName,
                                    java.lang.String appPassword)
                             throws com.vs.ezlicrun.EzLicExceptionBase
Generate license key based on class context that was set up through its mutators, encoding the custom key and cookie with the private key derived from the specified secret application password if not null. The operation will succeed provided the balance quota allows it and the ISV is licensed for the eCommerce option.

Parameters:
userName - ISV user name
appPassword - application password seed. The encryption is with a private key derived from this password. The application password is also embedded in the application code, which passes it into the license key check API call when running at the end customer site.
Returns:
generated key (also set up in class context)
Throws:
com.vs.ezlicrun.EzLicExceptionBase - if the key context wasn't set up properly, or the key becomes too big.

generateKey

public java.lang.String generateKey(java.lang.String userName,
                                    java.lang.String vendorPasswd,
                                    java.lang.String vendorCookie,
                                    boolean createConfig)
                             throws com.vs.ezlicrun.EzLicExceptionBase
NOTE: THIS METHOD IS INTENDED FOR INTERNAL USE BY THE EASYLICENSER VENDOR CODE. The ISV should use the generateKeys(userName [,password]) METHOD ONLY. Generate license key based on class context that was set up through its mutators. Create the ezconfig if instructed, and update the license key, registration date and / or license key acceptance date if instructed. Custom key and cookie values are not further encrypted with this signature of the API call.

Parameters:
userName - ISV user name
vendorPasswd - special vendor password for vendor-related key generation.
vendorCookie - vendor cookie to set for custom cookie.
createConfig - whether to create and populate an ISV ezconfig, if this is a vendor key generation.
Returns:
generated key (also set up in class context)
Throws:
com.vs.ezlicrun.EzLicExceptionBase - if the key context wasn't set up properly, or the key becomes too big, or the (ISV) user doesn't have the license to generate keys in this mode.

generateKey

public java.lang.String generateKey(java.lang.String userName,
                                    java.lang.String vendorPasswd,
                                    java.lang.String vendorCookie,
                                    boolean createConfig,
                                    java.lang.String appPassword)
                             throws com.vs.ezlicrun.EzLicExceptionBase
NOTE: THIS METHOD IS INTENDED FOR INTERNAL USE BY THE EASYLICENSER VENDOR CODE. The ISV should use the generateKeys(userName[,password]) METHOD ONLY. Generate license key based on class context that was set up through its mutators. Create the ezconfig if instructed, and update the license key, registration date and / or license key acceptance date if instructed. If an application password is specified, encrypt the custom key and cookie using a private key derived from it.

Parameters:
userName - ISV user name
vendorPasswd - special vendor password for vendor-related key generation.
vendorCookie - vendor cookie to set for custom cookie.
createConfig - whether to create and populate an ISV ezconfig, if this is a vendor key generation.
appPassword - an application password known only to the ISV and also supplied at run time to the license key check API call.
Returns:
generated key (also set up in class context)
Throws:
com.vs.ezlicrun.EzLicExceptionBase - if the key context wasn't set up properly, or the key becomes too big, or the (ISV) user doesn't have the license to generate keys in this mode.

generateChainedKey

public static EzLicenseFullInfo generateChainedKey(java.lang.String sourceLicenseKey,
                                                   java.lang.String ISVuserName,
                                                   java.lang.String productName,
                                                   java.lang.String appPassword,
                                                   long userLimitIncrement,
                                                   boolean isNewExpirationDate,
                                                   java.util.Date newExpirationDate,
                                                   boolean isNewQuotaLimit,
                                                   long newQuotaLimit,
                                                   java.lang.String[] newOptions)
                                            throws com.vs.ezlicrun.EzLicExceptionBase
Factory method to generate an incremental floating license key that is chained to an existing unexpired license key, such that the new key can only be used to replace the old key, and the license units that are consumed only correspond to the specified incremental user limit. The product options, expiration date and quota limit can also be changed.

Parameters:
sourceLicenseKey - license key from which to generate a chained key
ISVuserName - ISV user name
productName - product name
appPassword - old key's application password
userLimitIncrement - incremental user limit - 0 implies no change in the user limit
isNewExpirationDate - expiration date being passed in is a new one
newExpirationDate - new expiration date, don't-care if isNewExpirationDate is false
isNewQuotaLimit - quota limit being passed in is a new one
newQuotaLimit - new quota limit, don't-care if isNewQuotaLimit is false
newOptions - new option vector - null signifies no change in the product options
Returns:
license info based on generated key
Throws:
com.vs.ezlicrun.EzLicExceptionBase - if the key is not chainable or there is a user authorization problem or there is an out-of-quota condition.

rechargeEzlmKey

public static void rechargeEzlmKey(java.lang.String newLicenseKey,
                                   java.lang.String username)
                            throws com.vs.ezlicrun.EzLicExceptionBase
rechargeEzlmKey: recharge EasyLicenser license key based on an existing ISV license key, setting the license info context to the new values and returning the resultant new license key that reflects the updated quota and expiration date. Both keys have to have the same license model and usage policy.

Parameters:
newLicenseKey - new incremental license key
username - EasyLicenser user name associated with the new key
Throws:
com.vs.ezlicrun.EzLicExceptionBase

deactivateEzlmInstallation

public static java.lang.String deactivateEzlmInstallation(java.lang.String username)
                                                   throws com.vs.ezlicrun.EzLicExceptionBase
deactivateEzlmInstallation: deactivate the EasyLicenser installation and return an encrypted confirmation token. Use this API call if you are returning your EasyLicenser license to Agilis, if you have a contract with Agilis for returning / exchanging licenses. If using this API, provide the returned confirmation token to Agilis.

Parameters:
username - EasyLicenser user name for this installation - must match.
Returns:
confirmation token to be returned to Agilis.
Throws:
com.vs.ezlicrun.EzLicExceptionBase

regenLicenseKey

public static EzLicenseFullInfo regenLicenseKey(java.lang.String oldLicenseKey,
                                                long balanceQuota,
                                                java.lang.String newLicenseKey)
                                         throws com.vs.ezlicrun.EzLicExceptionBase
NOTE: INTERNAL METHOD NOT INTENDED FOR USE BY ISV. regenLicenseKey: regenerate an ISV license key based on an existing ISV license key, setting the license info context to the new values and returning the resultant new license key that reflects the updated quota and expiration date. Both keys have to have the same license model and usage policy.

Parameters:
oldLicenseKey - old license key
balanceQuota - balance quota
newLicenseKey - new incremental license key
Returns:
resultant cumulative license info class
Throws:
com.vs.ezlicrun.EzLicExceptionBase

regenLicenseKey

public static EzLicenseFullInfo regenLicenseKey(java.lang.String vendorPasswd,
                                                java.lang.String oldLicenseKey,
                                                long balanceQuota,
                                                java.lang.String newLicenseKey)
                                         throws com.vs.ezlicrun.EzLicExceptionBase
NOTE: INTERNAL METHOD NOT INTENDED FOR USE BY ISV. regenLicenseKey: regenerate a vendor license key based on an existing vendor license key, setting the license info context to the new values and returning the resultant new license key that reflects the updated quota and expiration date. Both keys have to have the same license model, usage policy, product and customer, and the new key has to have a creation date following the old key's creation date. The new key's version number has to be newer than the old key's version number.

Parameters:
vendorPasswd - password for vendor key regeneration
oldLicenseKey - old license key
newLicenseKey - new incremental license key
Returns:
resultant cumulative license info class
Throws:
com.vs.ezlicrun.EzLicExceptionBase

parseLicenseKey

public void parseLicenseKey(java.lang.String licenseKey,
                            java.lang.String username)
                     throws com.vs.ezlicrun.EzLicExceptionBase
Parse the given EasyLicenser 1.1 style license key, setting up the license parameters in the class context.

Parameters:
licenseKey - license key.
username - the user who is supposed to be the creator.
Throws:
com.vs.ezlicrun.EzLicExceptionBase - if a problem was encountered in the key syntax or if the post-1.1 key is incompatible with this 1.1 API

parseLicenseKey

public void parseLicenseKey(java.lang.String licenseKey,
                            java.lang.String username,
                            java.lang.String product,
                            java.lang.String appPassword)
                     throws com.vs.ezlicrun.EzLicExceptionBase
Parse the given license key, setting up the license parameters in the class context. Works with EasyLicenser 1.1 as well as post- EasyLicenser 1.1 keys when the product name and application password parameters are specified.

Parameters:
licenseKey - license key.
username - the user who is supposed to be the creator.
product - product name for which the EasyLicenser 2.0+ key is supposed to be.
appPassword - public key corresponding to application password that was supplied at the time of generating the key.
Throws:
com.vs.ezlicrun.EzLicExceptionBase - if a problem was encountered in the key syntax.

getLuConsumption

public long getLuConsumption(EzLicenseVendorLuPolicy luPolicy)
                      throws com.vs.ezlicrun.EzLicExceptionBase
Obtain the license-unit consumption for this license key based on the specified vendor license unit policy.

Parameters:
luPolicy - Vendor license unit policy
Returns:
The number of license units consumed for this key
Throws:
com.vs.ezlicrun.EzLicExceptionBase - if this license info is not valid

getEzlmKeyVersion

public static int getEzlmKeyVersion()
                             throws com.vs.ezlicrun.EzLicExceptionBase
Throws:
com.vs.ezlicrun.EzLicExceptionBase

getFloatingEnabled

public static boolean getFloatingEnabled()
                                  throws com.vs.ezlicrun.EzLicExceptionBase
Throws:
com.vs.ezlicrun.EzLicExceptionBase