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.