I have a requirement to develope ISV solution so that it can be uploaded to Microsoft Store and then customer would be able to download it and install.
1) In the article it's said
Implementing ISV licensing in a solution
ISVs must have a valid Authenticode certificate (X.509) from a certificate authority (CA).
Certificate import and export
Use the certificate to sign your customer license files and validate the license files at the time of import. Authenticode certificates support four file formats. For the ISV licensing feature, you must have the certificate files in two formats:
- Personal Information Exchange (PFX, also known as PKCS #12) – The PKCS #12 format, which uses the .pfx file name extension, supports secure storage of certificates, private keys, and all certificates in a certification path. The PKCS #12 format is the only file format that can be used to export a certificate and its private key.
- Base64-encoded X.509 – The Base64 format supports storage of a single certificate. This format doesn't support storage of the private key or certification path.
Do I understand it right that I need to order 2 certificates from CA for each new customer requiring my custom ISV solution?
2) In this article section Enable licensing for your ISV solution
it's described the process of creating the solution itself and unque Base64-encoded X.509 certificate .cer must be imported as a resource
Add the certificate's public key (.cer file) to your project as a resource.
Base64-encoded X.509 certificate .cer is created only once for the whole solution? it's not separate pair of certificates for each customer?
3) Create a package and generate a customer-specific license
point 2
2. Generate a license for the customer (tenant ID and name), and sign the license by using the certificate's private key. Pass the following parameters to the axutil genlicense command to create the license file.
example from article
C:\AOSService\PackagesLocalDirectory\Bin\axutil genlicense /file:c:\templicense.txt /licensecode:ISVLicenseCode /serialnumber:4dbfcf74-c5a6-4727-b638-d56e51d1f381 /certificatepath:c:\tempisvcert.pfx /password:********
Where should I generate it? On any dev machine outside of the customers domain or maybe inside customer's domain on the machine hosting AOS service?
point 3
3. Import the license into the target environment.
example. This command below It's for non prod enviornment, right?
C:\AOSService\PackagesLocalDirectory\Bin\Microsoft.Dynamics.AX.Deployment.Setup.exe --setupmode importlicensefile --metadatadir c:\packages --bindir c:\packages --sqlserver . --sqldatabase axdb --sqluser axdbadmin --sqlpwd ******** --licensefilename c:\templicense.txt
in the note it's said
In production systems, complete this step from Microsoft Dynamics Lifecycle Services, by using a deployable package. For more information, see the "Production environments" section later in this article.
for non prod enviornemnt there is another description how to import the license. So the command from aboive isn't relevant, right?
4) from what I understood in the article someone will still need to deploy a deployable package in the customer's enviornment? Someaone with administrative right sin the LCS for that customer, correct?
Thank you.