How to get a certificate to sign an MSIX

Steve 0 Reputation points
2025-06-11T13:45:04.3566667+00:00

In the Azure Trusted Signing accounts, I completed Identity Validation for my LLC
I want to create a certificate to sign an MSIX installer .exe file

The only certificate profiles listed are "Public Trust and VBS Enclave."
According to ChatGPT, "Public Trust" is only used for emails and documents.
and will not sign an MSIX

So, how to get a certificate to sign an MSIX ?
Is this possible through Trusted Signing accounts?

C++
C++
A high-level, general-purpose programming language, created as an extension of the C programming language, that has object-oriented, generic, and functional features in addition to facilities for low-level memory manipulation.
3,960 questions
{count} votes

3 answers

Sort by: Most helpful
  1. Darran Rowe 1,986 Reputation points
    2025-06-11T14:51:05.81+00:00

    The current MSIX documentation states that a code signing certificate is needed. What's more, it also states that the certificate must chain to be trusted on the device. For any kind of binary, it is a requirement to use a code signing certificate too. So how you obtain the certificate depends on to who and how you wish to distribute the package.

    The best option would be a code signing certificate that you have to pay for. It could be a company or an individual certificate, but these resolve to a root certificate that is preinstalled and trusted on all systems. But this costs money, and for a very good reason.

    Next, if this is only inteded to be installed in a business environment, it is possible to use any ___domain certificate authority to generate a code signing certificate. It will only be trusted inside the business where the certificate authority holds any sway.

    Finally, for very limited cases, it is possible to personally generate a certificate. A code signing certificate like this is not trusted by default but if you set the certificate as trusted on a system then the package will install normally. Yes, this isn't a good alternative for anything but testing and limited use amongst people who trust you or systems that you control.

    So as far as I know, the only way to get one that will work publically is through paying trusted certificate roots.


  2. gekka 12,201 Reputation points MVP Volunteer Moderator
    2025-06-12T09:46:46.75+00:00

    As no one can download the certificate from Azure, you need to prepare an environment where Trusted Signing can be executed by referring to this in order to sign for MSIX file.

    If you want to use signtool in your local machine, you can sign it in the following way.

    Create the contents of the above JSON file by referring to sample.

    Set azure_tenant_id=<Your Azure TenantId>
    
    signtool.exe sign /fd SHA256 /td SHA256 /tr "http://timestamp.acs.microsoft.com" /dlib "Azure.CodeSigning.Dlib.dll" /dmdf "setting.json" "Test.msix"
    

    If the attempted results did not work, let's read to FAQ for troubleshooting.


  3. Steve 0 Reputation points
    2025-06-12T12:32:03.3+00:00

    Problem resolved, I was able to get the MSIX signed, using signtool, and
    Azure trusted signing account using

    https://learn.microsoft.com/en-us/azure/trusted-signing/how-to-signing-integrations

    Just have to make sure both DLL and signtool are using the 64-bit version.
    (Otherwise, it won't read the DLL)

    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.