Category

.NET

Category

I’ve been working on the ISVLicenseGenerator open source tool for some years now, almost five. It all started when I ordered a code-signing certificate to sign ISV solutions, and I got a USB token instead of a software certificate.

After many years of Microsoft not offering support for these devices to sign the license files, it looks like with the changes introduced to AXUtil in the version 10.0.37, ISVLicenseGenerator will not be needed anymore…

If you want to learn more about ISVLicenseGenerator you can read:

I’m once again back with a new version of the ISVLicenseGenerator tool, the piece of software I created with a modified version of the standard AXUtil.dll library that lets us sign license files using a cryptographic USB token.

In the new version (v0.7) I’ve added the possibility of signing the license file using a certificate stored on an Azure Key Vault.

And this time I come with a request from anyone reading this post. If you have an HSM-protected key for your code-signing certificate, and are storing it in a Key Vault, I’d love you to try this new version out!

Why am I asking this? Well, I swear there are no hidden intentions here! The main reason is that I don’t have access to HSM keys, and I can’t test the new functionality with one of those. So if your certificate provider has a cloud HSM, and provides some sort of Azure Key Vault integration to store the keys in it, and you want to try it… I’ll be very happy to try to fix things if they don’t work!

Some time ago I published the first version of ISV License Generator to help us generate a license for a Microsoft Dynamics 365 for Finance and Operations ISV solution, using a CSP cryptographic USB token instead of a software certificate.

With the new ISV License Generator version 0.2 I’ve implemented support for SHA-2/SHA-256 while keeping support for SHA-1 until it’s deprecated.

You can download ISV License Generator v0.2 (read below for version 0.3!) and contribute or check the code in Github.

This post is a product of not reading the full documentation. Lesson #1: read the docs thoroughly, or at least don’t stop reading when you think you’re done.

Publishing an ISV solution

One of the steps when you want to publish an ISV solution is generating the license for your customers. This license has to be signed  using an Authenticode certificate that will enable the solution, limit the number of users or set an expiration date.