Releases: Cryptolens/cryptolens-dotnet
v4048: Add User class and update Newtonsoft.Json 13.0.3
In this release, we have added methods that you can use to support user authentication: https://help.cryptolens.io/examples/user-verification
v4047: GetCustomers method and Newtonsoft.Json version
This update enables search for customers based on their unique customer Id and we have also upgraded the Newtonsoft.Json version to 13.0.1.
v4046: Add new version of GetMachineCodePI for backward compatibility
Since WMIC is deprecated starting starting from Windows 11, we have released a new version of GetMachineCodePI
that uses a Powershell interface to obtain the UUID instead of wmic.
For new projects, it's recommended to use Helpers.GetMachineCodePI(v: 2)
.
However, assuming that you were using Helpers.GetMachineCodePI()
without supplying any version parameter, you can now call it using Helpers.GetMachineCodePI(v: 10)
to obtain the same machine code as Helpers.GetMachineCodePI()
. This way, the machine code will stay the same, which is especially useful if you already have customers using the old method in production.
We are not updating the original method, Helpers.GetMachineCodePI()
, in case there are users that use an out of date version of Windows.
v4045: Fix issue with signature verification (default method)
An issue was fixed with HasValidSignature method when performing a call to Key.Activate and supplying ActivateModel
. This should not affect signature verification when using the version of Key.Activate that returns RawResponse (this approach is used in Unity and cross platform environments).
v4044: Update DaysLeft method, add GetHarddiskID and other fixes
In this release, three changes are made:
- DaysLeft will now return the same value that is shown in the dashboard. Previously, if a license expired in 23 hours, it would show that as zero days, and from now on, it will treat any value between 1-23h as 1 day left.
- Added GetHarddiskID which allows you to identify machines by their physical harddisk ID. This method may require admin permission, however, based on our internal testing and testing that was performed by our clients, it does not require admin permission. This method is a good alternative to the default GetMachineCode method in cases where you anticipate that your clients may use the same image on multiple physical machines.
- When calling the AddCustomer method, you will now be able to see the "secret", which you can use to retrieve all licenses that belong to that customer using GetCustomerLicenses endpoint.
v4043: Improve support for customers using proxy and AD
Provides a fix that can help customers in larger organisations to connect to the license server.
We have also provided guidelines on how to connect to the license server for clients with a group policy that blocks certain type of requests: https://github.com/Cryptolens/cryptolens-dotnet#issue-with-activation-even-if-apicryptolensio-is-accessible-in-the-browser
v4042: Add user-agent when accessing the API
This update adds the User Agent to each request sent to the Web API.
v4041: Add GetKey method that works with the license server
In this update, we have introduced a new version of GetKey method that is compatible with the license server and tailored to be used in cross platform environments. If used to connect to the license server, it provides a way to list all activated machines when a local floating license server is used (https://github.com/Cryptolens/license-server/blob/master/README.md#floating-licenses-offline).
An example of how this method can be used is shown below:
var result = Key.GetKey(token: "", productId: 3349, key: "", LicenseServerUrl: "http://192.168.0.2:8080");
// obtaining the license key (and verifying the signature automatically).
var license = LicenseKey.FromResponse("RSAPubKey", result);
v4040: Update server for time tampering check
Change server to check for time tampering to pool.ntp.org
from time.windows.com
(see #78 for more information).
The base method used to check for time tampering is SKGL.SKM.TimeCheck()
. This method is also used in other helper methods. Please keep in mind that this method can throw exceptions. Thus, we recommend using this method the helper methods that use it, and to encapsulate the call in a try-catch. If an error occurs, you could re-run the call again.
Thanks to @keifgwinn.
v4.0.39: Update ComputePasswordHash method
In this release, we have updated the ComputePasswordHash method used in the following use case: https://help.cryptolens.io/licensing-models/user-login-intro. Please note that this is a breaking change.