After importing an authenticode signed model it appears as not signed on the store: when you query the installed models at the model ModelManifest table or at Dev Workspace -> Tools -> Models management -> Models installed, the model is not marked as signed.
In order to get the model marked as signed on the AX store the argument /key must be used when the model is exported via axutil or the manifest modified.
1. Create a key using the Strong Name Tool: sn -k keyPair.snk
2. Export the model:
axutil export /model:”Add-in Service” /file:”Add-in Service.axmodel” /key:”keyPair.snk”
1. Export the model: axutil export /model:”Add-in Service” /file:”Add-in Service.axmodel”
2. Modify the model manifest signed property: axutil edit /model:”Add-in Service” /manifest:Signed=true
If you import a model signed with sn tool the next message is displayed by axutil “The model is not signed. Are you sure you want to install this model (Y/N)?” The reason of this that the models part of ISV solutions that are CfMD must be authenticode signed, you can do this with the signtool.
signtool sign /v /f myTestCert3.pfx /p password
And verify the signature on the destination environment with the next command:
signtool verify /v /kp ISVModel.axmodel
The models can be deployed providing the axmodel files only for but the license file is different. If the certificate is not installed properly on the destination server, then this is one of the validation errors that you could face:
Error Message (11:23:40) The certificate associated with license ISVLicenseCode1 is not a trusted certificate.
Warning Message (11:23:40) License value for ISVLicenseCode1 is incorrect.
Together with the license file has to be included the public certificate that was used on the MorphX LicenseCode objects and when the license file was generated, these certificates must be installed properly on the destination environment, it is important to follow the manufacturer information here.
axutil genlicense /file:license.xml /certificatepath:myPKCert.pfx /licenseCode:ISVLicenseCode1 /password:pass@word1 /customer:Contoso /serialNumber:M3048953 /expirationdate:1/1/2021
We're always looking for feedback and would like to hear from you. Please head to the Dynamics 365 Community to start a discussion, ask questions, and tell us what you think!