asp.net-coresslssl-certificatedotnet-dev-certs

Unable to trust ASP.NET SSL dev certificate


I have been going around and around with this issue. I can create a dev-cert using dotnet dev-certs https --trust but the certificate only appears in the Personal certificates folder. If I try copying it to the Trusted folder it disappears on refresh. I have watched videos of people doing this on YouTube and it works so I'm not sure what is wrong with my PC/install.

Running my code and hitting the route in Postman returns a 500 error and UntrustedRoot.

I have tried this using a local user account and my admin account. I have also tried creating a certificate and importing it using OpenSSL following guides I have found, but still no luck.

I am running Windows 10 Pro on a new build PC. Windows was a clean install with a new licence.

I really don't want to have to purchase a signed certificate just to do development on localhost as that seems a bit overkill.

Any suggestions?


Solution

  • tl;dr try disabling your anti-virus before creating certificate!

    I finally stumbled upon the answer; my anti-virus, WebRoot. I was following a YouTube tutorial on how to add a custom certificate to Kestrel and in doing so I discovered that WebRoot was blocking access to the hosts file. Disabling the av allowed me to update that file but also, it then allowed trusting of the dev-cert generated by dotnet dev-certs https --trust.

    Not sure how I can prevent this in future other than temporarily disable the av before creating a certificate. Frustrating that the av doesn't warn me and there doesn't appear to be an obvious setting to allow this to happen.