# Unlocker The `LicenseUnlocker` will aid you in managing HISEs keyfile and unlocking system.You can create an `Unlocker` object with `Engine.createLicenseUnlocker()` . ```javascript const var Unlocker = Engine.createLicenseUnlocker(); ``` ## Class methods ### canExpire Checks if the unlocker's license system has an expiration date. ```javascript Unlocker.canExpire() ``` ### checkExpirationData If the unlocker has an expiration date, it will check it against the RSA encoded time string from the server. ```javascript Unlocker.checkExpirationData( String encodedTimeString) ``` ### checkMuseHub If you use the MuseHub SDK this will try to activate the plugin using their SDK. ```javascript Unlocker.checkMuseHub(var resultCallback) ``` ### contains Checks if the string contains the given substring. ```javascript Unlocker.contains(String otherString) ``` ### getLicenseKeyFile Returns the license key file as File object. ```javascript Unlocker.getLicenseKeyFile() ``` ### getRegisteredMachineId Returns the machine ID that is encoded into the license file. This does not look in the encrypted blob, but just parses the header string. ```javascript Unlocker.getRegisteredMachineId() ``` ### getUserEmail Returns the user email that was used for the registration. ```javascript Unlocker.getUserEmail() ``` ### isUnlocked Checks if the registration went OK. ```javascript Unlocker.isUnlocked() ``` ### isValidKeyFile Checks if the possibleKeyData might contain a key file. ```javascript Unlocker.isValidKeyFile(var possibleKeyData) ``` ### keyFileExists Checks whether the key file exists. ```javascript Unlocker.keyFileExists() ``` ### loadKeyFile This checks if there is a key file and applies it. ```javascript Unlocker.loadKeyFile() ``` ### setProductCheckFunction Sets a function that performs a product name check and expects to return true or false for a match. ```javascript Unlocker.setProductCheckFunction(var f) ``` ### writeKeyFile Writes the key data to the location. ```javascript Unlocker.writeKeyFile( String keyData) ```