SDKs
Java SDK
95min
the java license client docid\ uwqr7jqg01pcftet8iao0 module embodies essential license functionalities, encompassing tasks like online and offline license activation and deactivation, provisioning trial licenses, recording usage instances, and monitoring variables the floating client docid 85ozdmi ceei i5t6ldh7 serves as the foundational module with a specific emphasis on floating license functionalities for a deeper understanding of floating licenses, additional information can be accessed by referring to the provided resource on floating licenses docid 4aunypial8i2te4nyppx7 the management sdk docid\ oqehm3fli2mj 0aq8u724 module offers a collection of apis designed to generate license keys and facilitate order placement for further details about the general management api, see our management api docid\ abk8afs7gbmtujl rd 4p minimum java version for this sdk is 8 161 if you are unsure which sdk module to implement, visit java modules docid 6ydrwccxdnln9fw4zya4 to learn what each module offers from version 2 2 0 onwards, you can find all the release artifacts direct downloads, including hosted javadoc links on our javadoc & downloads docid\ dm ksn9s vvhglpywsm5x page release notes may 9th, 2025, v2 19 0 license client added licensemanager changeoauthcredentials method added activate licensemanager activatelicenseoffline and licensemanager deactivatelicenseoffline methods should be used for testing purposes only api references activate license (offline method) docid\ h vewme7ryj7qfbikvgup , deactivate license (offline method) docid\ iyg1dxiyqp9vw mlj xuk added licensemanager updatefromofflineresponse method for updating offline licences floating client added support for floating features docid\ fcsukwoo8k2e5onfqftro all added licensedata isborrowed and licensedata borroweduntil fields added licensefeature allownegativeconsumptions field changed checking of allownegativeconsumptions to license and feature settings instead of sdk config , deprecated config param may 6th, 2025, v2 18 5 license client & floating client serviceurlcertpath can be a resource as well (or a file) may 6th, 2025, v2 18 4 all added new util class in licensespring core base64codec handles base64 related operations and ensures correct padding april 30th, 2025, v2 18 3 license client & floating client fixed a bug regarding the new serviceurlcertpath configuration option april 30th, 2025, v2 18 2 license client added serviceurlcertpath configuration option when (goes with custom serviceurl for verification purposes) see java advanced usage docid\ mqlrngvkrepj5ivdgupt0 bug when using this feature, upgrade to 2 81 3 or newer to use it added license isofflineactivated when the license was activated offline or using air gapped fixed offline licensing support when using oauth updated offline activation added support for variables and tracking machine info (if enabled in config) updated consumption sync syncs features for all license types if the features have consumtions added unlimited consumptions support (feature and license) added licensedata allowunlimitedactivations floating client added serviceurlcertpath configuration option when (goes with custom serviceurl for verification purposes) see java advanced usage docid\ mqlrngvkrepj5ivdgupt0 bug when using this feature, upgrade to 2 81 3 or newer to use it april 17th, 2025, v2 18 1 license client licensemanager activatelicense() removed existing license modification when activating another license (like deleting in case the new license is not found) april 4th, 2025, v2 18 0 management client added metadata filtering capability to management sdk implemented metadata filtering for getlicenses getlicenseproductfeatures getorders getproducts license client added optional env query parameter to checklicense getproductdetails getversions getinstallationfile added optional licenseid param for users with multiple licences added `userlicenses` and `devicelicenses` endpoints floating client updated proxyservice to support the following floating server api methods setpassword setkeys serverhealthy getlicense addlicense removelicense generateairgapsignature registeruser unregisteruser unregisterallusers addconsumption addfeatureconsumption march 3rd, 2025, v2 17 1 license client & floating client added oauth authorization docid\ xhyzaual9qy4jerxkilmk support by setting clientid and clientsecret in the floating or licensespring configuration check out oauth configuration docid\ q1yeced3kghzmwcsx2moj on how to setup for rotating secrets, there is a changeoauthclientsecret method in licensemanager of floatinglicenseservice february 12th, 2025, v2 17 0 all updated licensespring sdk license and added dependancy licences to the jar more info here sdk distribution and licensing docid\ pitcntyyajv9nsyuyoeza license client added licensemanager getssourl added licensemanager getairgapdeactivationcode and licensemanager deactivateairgapresponse management client supports java 16+ (localdateadapter) december 30th, 2024, v2 16 6 license client add licensenotfoundexception and licensenotenabledexception for the appropriate license statuses manager checklicense will throw the appropriate exception and update the local license november 20th, 2024, v2 16 5 license client properly passed down licenserepository to licenseservice october 24th, 2024, v2 16 4 all update com google code gson to 2 11 0 floating client added support for user based licences on borrowlicense method august 27th, 2024, v2 16 3 license client added missing customer fields (12 up from 7) management client remove orderby active up to date devices not supported anymore july 25th, 2024, v2 16 2 floating client proxyfloatingservice register() method should parse responses from newer floating server versions (backwards compatible) june 26th, 2024, v2 16 1 all update oshi version to 6 6 0 license client added configuration options to force signature v2 check management client added the following licenseservice updatefeatures licenseservice deletelicense orderservice safedeleteorder updated response type in licenseservice createorder may 29th, 2024, v2 16 0 all added jsonelement metadata field to licensedata, customer, product, licensefeature (licenseclient sdk and management sdk) added licensemanager getdevicevariables(identity) added a parameter to the licensemanager initialize() method to accept okhttpclient builder for customization of the underlying client (for a https proxy use case) breaking change metadata field in licensefeature model changed from object type to jsonelement may 7th, 2024, v2 15 0 all added licenseuser model and user field in licensedata for user based licenses added expiration check on getcurrent() calls while in offline mode added fallback when detecting os version april 16th, 2024, v2 14 0 all add verifysignaturedecoder to enhance security by verifying signatures of server responses set active and enabled fields to true after successfully performing local check bump org bouncycastle bcpkix jdk18on, org bouncycastle bcprov jdk18on to v1 78 enhance license security by storing the licensedata signature alongside the license file and conducting signature verification upon loading the license from the file january 19th, 2024, v2 13 0 all bump io github openfeign v12 4 > v13 1 change scheduler mode to fixed rate license client add cachedencryptedlicenserepository that caches license in memory december 12th, 2023, v2 12 0 floating client floatinglicenseservice add releasefloatingfeature add checklicensefeature license client licenseservice add checklicensefeature management client floatingfeaturesservice add releasedevice add getlicenseproductfeature add getlicenseproductfeatures add updatefeatures december 6th, 2023, v2 11 1 all compatibility with older java versions v1 8u141 and older trust licensespring api root certificate v1 8u161 and older fallback to 128 bit key size because key size greater than 128 bit is not supported deprecate disablessl option november 7th, 2023, v2 10 0 all proxy certificate users can provide pem file certificate in order to configure http client to trust proxy server certificate connection specs users can provide connection specs to setup http client with different cipher suites october 12th, 2023, v2 9 0 floating client added floating license borrowing september 14th, 2023, v2 8 6 all sdk's added resetconsumption and consumptionperiod to licensefeature class july 10th, 2023, v2 8 3 all sdk's changed the exception message ( connectionexception ) when there are problems with proxy auth new message is "failed to authenticate with the proxy server please check your proxy credentials setup or contact your it department for assistance " july 3rd, 2023, v2 8 2 all sdk's added id and deviceid fields to the licensedata class june 26th, 2023, v2 8 1 license management fix error decoder empty code and message fields april 28th, 2023, v2 8 0 license management breaking changed single user to list of users in orderlicense class added ismanager boolean field to userbasedlicense class april 28th, 2023, v2 7 0 all sdk's add support for parsing date when creating zoneddatetime license client fixed airgapped signatures march 17th, 2023, v2 6 2 floating client fix when using only checklicense() (without activatelicense() example on app restart) march 1st, 2023, v2 6 1 license client changed airgapped to use java classes instead of bouncycastle february 28th, 2023, v2 6 0 all sdk's licensesignature verification fix (pem files) january 30th, 2023, v2 5 9 broken version license client remove unused bouncycastle provider in airgappedservice january 17th, 2023, v2 5 8 broken version license client renewed the code signing certificate january 16th, 2023, v2 5 7 broken version license client removed bouncycastle provider for airgap use default provider january 10th, 2023, v2 5 6 broken version license client added support for multiple licenses on the same device added the licensemanagerfactory for creating multiple licensemanager objects (one for each different license) added support for offline user based licences november 4th, 2022, v2 5 5 broken version license client added airgappedservice and licensespringmanager methods getairgapactivationcode() , verifyairgapconfirmationcode() , activateairgapresponse() august 10th, 2022, v2 5 4 license client added reinitialize() methods to licensemanager june 28th, 2022, v2 5 3 all sdk's corrected query parameters on azure metadata endpoint june 10th, 2022, v2 5 2 all sdk's added azure environment variable website instance id check to hardwareidstrategy auto node lock may 18th, 2022, v2 5 1 all sdk's updated oshi library to 6 1 6 version december 21st, 2021, v2 5 0 license client and floating client added verification on any kind of license load december 20th, 2021, v2 4 16 license client and floating client added verification of license on every check call december 14th, 2021, v2 4 15 all sdk's added hardwareidstrategy no disk hardware id , for creating hardware ids without disk information (in case of removable card readers or similar devices that are detected as disks) for more information, see java hardware (device) ids docid\ kinndeo4bghcv3azyvchm december 9th, 2021, v2 4 14 license client added setofflinemode to licensemanager license client and floating client added infotostore configuration parameters this enables to fine tune what information you want to send to ls servers during license activation and checking if storemachineinfo is off, then this property is ignored, defaults to all info docs are at the end of configuration optional parameters, see java license client docid\ uwqr7jqg01pcftet8iao0 for an example for license client november 22nd, 2021, v2 4 13 populated lastusage field after license check (resolves issues when using offline mode after online activation) added storemachineinfo configuration parameter ( license and floating configurations) false by default this toggles the collection of additional machine data, which includes hostname ipaddress macaddress vminfo osinfo november 10th, 2021, v2 4 12 all sdk's added requesttimeout to configurations (in seconds) for api calls, defaults to 10 seconds october 11th, 2021, v2 4 11 license client added fields to licensefeature class allowoverages , maxoverages added overages logic to increaseconsumption() and increasefeatureconsumption() methods september 29th, 2021, v2 4 10 management sdk added fields to productfeature class allowoverages , maxoverages , resetconsumption , consumptionperiod august 27th, 2021, v2 4 9 all sdk's added azure environment variable check ( website instance id ) for offline azure cloud instances added name and expirydate for licensefeatures june 29th, 2021, v2 4 8 all sdk's added shutdownscheduler() method to client sdks for manually shutting down the scheduled executors used for periodic checks, see java advanced usage docid\ mqlrngvkrepj5ivdgupt0 june 24th, 2021, v2 4 7 all sdk's added shutdown hooks to all executor services (used when the periodic check feature is turned on) added the disablessl configuration option for rare cases when the app cannot verify licensespring servers certificates more info in java advanced usage docid\ mqlrngvkrepj5ivdgupt0 june 9th, 2021, v2 4 6 all sdk's added support for basic authentication when using a forward proxy just set proxyuser and proxypass in any configuration object to use more info in java advanced usage docid\ mqlrngvkrepj5ivdgupt0 may 20th, 2021, v2 4 5 all sdk's added support for aws imdsv2 node locking (was only imdsv1) additional fields to the licensedata object allowoverages maxoverages preventvm isfloatingcloud isfloating transfercount floatinginusedevices floatinginuse resetconsumption consumptionperiod you can read the description of each field in the javadoc & downloads docid\ dm ksn9s vvhglpywsm5x section floating client sdk added on premise floating server support! documentation can be found on our proxy floating docid r7g0sf5yq0jyyawahn 9 page management sdk added licenseusers to the devicelicense object (used in the devices via licenseservices ) april 19th, 2021, v2 4 4 license client added ignoreserverexceptions field in licensespringconfiguration when enabled, it acts as graceperioddays (ignoring exceptions if sdk cannot connect to ls servers for license check), but without a time limit april 15th, 2021, v2 4 3 license client increased the maximum allowed for graceperioddays to 30 (was 5) and added that information to java license client docid\ uwqr7jqg01pcftet8iao0 april 13th, 2021, v2 4 2 all sdk's added locale english for query field name serialization (fix for turkish locale) management sdk changed field in the device model "license" is no longer just an id, now it's an object with id , license key april 9th, 2021, v2 4 1 license client fixed an issue when in offline mode to check for clock tampering before setting the lastusage (this is done during initialisation and on every licensemanager getcurrent() call) you can also manually check for clock tampering in by calling license localcheck() april 2nd, 2021, v2 4 0 this release introduces a multitude of changes made in the license management module a lot of dto changes (request and response models) if you are using the license management sdk, please update to the latest version since older api's are no longer supported or they had method signature changes breaking changes management sdk removed assignusers method in orderservice there is a new method with similar functionality in licenseservice called management sdk docid\ oqehm3fli2mj 0aq8u724 the field orderitems in the search result of searchorders method is now empty to cut down on length of the results the field orderitems is still available for reading while using the getorder method backofficelicense has a field product which isn't long type anymore, instead it's a class backofficelicenseproduct removed fields companyname and reference from licenseuser class removed field companyname from assignusertolicenserequest class floating client sdk removed field iscloudfloating from floatingconfiguration class the field is redunant because floating/floating cloud configurations are separated in two classes proxyconfiguration and floatingconfiguration changelog all sdk's added support for a forward proxy! just set proxyport and proxyhost in any configuration object to use the forward proxy more info in java advanced usage docid\ mqlrngvkrepj5ivdgupt0 updated oshi and feign libraries to their latest versions (5 6 1 and 11 1) to fix some bugs on windows license client added deletion of local license file in checklicense() method (invoked during initialisation too), in case of license not found response (this is the case of deleting a license) management sdk 3 new services added as a composition to existing management services devicevariablesservice found in licenseservice licensecustomfieldsservice found in licenseservice productcustomfieldsservice found in orderservice all 3 ( devicevariablesservice , licensecustomfieldsservice , productcustomfieldsservice ) have the following methods search get create update delete paginate added enableretrying option to managementconfiguration (same functionality as in the other sdks) new method setuserpassword in licenseservice class added prebuild check for releasedate field in createinstallationfilerequest to check if it's in yyyy mm dd format new fields in backofficecustomer class labels array of customers labels alllabelnames name of customers labels labelids ids of customers labels new fields in backofficelicense class licenseusers list of all users that use the license activeuptodatedevices total number of devices that are currently using the license totalactivedevices total number of devices that have status active on the license note note about the license maxlicenseusers maximum number of users that can use the license new fields in licenseuser class isstaff boolean, is user also a part of the company staff subscribedtoemail boolean, is user subscribed to newsletter acquiredconsent date when consent was acquired new field in assignusertolicenserequest class, ismanager boolean field new methods in licenseservice class resettotalconsumptions settotalconsumptions assignmultipleusers unassignuser blacklistdevice resetdevice new methods in orderservice class searchinstallationfiles getinstallationfile createinstallationfile paginatethroughallinstallationfiles new filters and sort options in search requests september 25th, 2020, v 2 3 2 adapted the caching mechanism in the license class, so that both feature and license consumptions are first checked and then updated (apriori) september 22nd, 2020, v 2 3 1 fixed issue with license feature consumption added utility methods to check presence of features on licensedata class fixed wrong javadoc on the licensemanager class, check method added more context for check method september 18th, 2020, v 2 3 0 online documentation added javadoc coverage information on online documentation per module & version added a help page on java modules docid 6ydrwccxdnln9fw4zya4 license client added offline de/activation methods with inputstream and outputstream as parameters fixed issue with offline activation response loading wrong file name licensemanager added patchlicense method to modify product features on existing licenses added some javadoc increased test coverage september 10th, 2020, v2 2 0 core sdk completely restructured online documentation transitions to hosted javadoc & downloads docid\ dm ksn9s vvhglpywsm5x the javadoc is still available for download via maven added node locking options for aws and azure cloud(s) refactored internal class packages added a retryer option, which enables retries of failed requests due to infrastructural reasons (connection issues, server 5xx errors) up to 4 retries with the longest delay period of 20 seconds off by default expanded the licensespring exception model (note the basic classes still remain, all extend from licensespringexception , and are still unchecked) rewritten @superbuilder in configuration classes, to generate javadoc properly added a delombok process, in order to add javadoc to auto generated code higher coverage with javadoc on all java sdks license client sdk added a grace period configuration option, which resolves the remote check services to a local license check with a grace period from 1 to 5 days note that the grace period applies only to the check method and for infrastructural problems (connection, server error) license validation exceptions are still thrown default behaviour is off added throws licensespringexception to every licensemanager method (unchecked) enabled negative increments of consumptions defaults to disabled in configuration removed the option to place orders from the client sdks floating client sdk implemented an automated shutdown hook background thread the thread releases activated licenses and deactivates the license by default the shutdown hook is enabled, and can be disabled added a per process (uuid) generated hardware id strategy which works well with the floating license model defined a checksubscriber interface which can be used to subscribe to background check events default implementation ignores the incoming events added a background periodic check caller for all activated licenses deactivation removes the licenses from the pool period is 1/2 of the floating license duration on by default tested support for multiple licenses and products at the same time multiple floatinglicenseservices required for multiple products, multiple licenses on the same product can be used within the same floatinglicenseservices instance management sdk implemented the following methods on licenseservice searchlicenses disablealllicenses disablelicense getlicense updatelicense assignuser resetlicense enablelicense searchdevices getdevice paginatethroughalllicenses paginatethroughalldevices implemented the following methods on orderservice searchorders getorder exporttocsv assignusers generatelicensekeys (migrated from webhook api) createorder (migrated from webhook api) searchproducts getproduct paginatethroughallorders paginatethroughallproducts july 28th, 2020, v2 1 0 added osgi support july 15th, 2020, v2 0 2 removed oshi demo from dependancy list support in detecting aws ec2 instances added javadoc in floating sdk july 15th, 2020, v2 0 0 java sdk was split into 4 different modules manifest updated and created for each module support for osgi was added added license file to distribution in jars added support for floating licenses auto generated javadoc on deployment ready for use in ides june 12th, 2020, v1 9 3 refactored offline license request/response code from licenserepository into a separate class made licenserepository an interface sdk users can implement added a intitialize() method overload on licensespringmanager which accepts the licenserepository as the second parameter added the default implementation of licenserepository , no sdk users will not need to change their implementation, unless building a custom licenserepository added some checks to prevent entering locking code when there is no need to sync consumptions with licensespring servers may 22nd, 2020, v1 9 2 fixed issues with consumptions and caching the local consumption check was not performed with local state removed license deletion on initialization because of server errors the sdk still deletes the license if the hardware key does not match the one in the license file the licensemanager initialize() method can now throw the licensespringexception , which the client should handle per use case basis may 21st, 2020, v1 9 1 fixed bug with daysremaining method on license subscription license returned max days, instead of consumption type may 8th, 2020, v1 9 fixed issues with oshi auto update version added request logging options, default is off/none added more tests refactored code may 1st, 2020, v1 8 fixed issues with version api implemented local cache for feature consumptions added consumption sync to standard check calls implemented periodic license check can be enabled via configuration period of sync can also be specified april 2nd, 2020, v1 7 exposed jsonserialization class march 29th, 2020, v1 6 fixed omission of generatetrialkey overload with full customer details implemented order model march 19th, 2020, v1 4 fixed bug in hardware key generation when no disk is mounted (e g vm) march 13th, 2020, v1 3 added javadoc changed hardware key generation (might break some builds) reactivate your license fixed minor issues on tracking os name fixed major issue with locale support february 28, 2020, v0 0 1 initial release of the licensespring java sdk there are issues with offline activation, expected to be resolve by 7th of march, 2020