Reputation: 6963
My Blazor client server solution took a lot of fussing to get the cert just to be recognized.
// These commands allow you to reset when needed
//dotnet dev-certs https --trust
//dotnet dev-certs https --clean
//dotnet dev-certs https --check
This command:
dotnet dev-certs https --trust
does not work and it's been a long time since it has worked.
It creates a cert, but puts it here (untrusted):
dotnet dev-certs https --check
This shows up as untrusted.
This forces a S.O. Search:
dotnet dev-certs https --trust
It said: copy the certificate with the ASP.NET Core HTTPS development certificate friendly name by copying from Current User > Personal > Certificates into Current User > Trusted root certification authorities.
I don't think simply copying it works, you have to export and then import to the proper store.
This resulted in this:
This finally allowed the cert to be read and processed by this code:
Note in the using command below you will want this store:
StoreName.Root,StoreLocation.LocalMachine
and this: 509FindType.FindBySubjectName, "localhost"
X509Certificate2 GetCertificateFromStore()
{
using (var store = new X509Store(StoreName.Root, StoreLocation.LocalMachine))
{
store.Open(OpenFlags.ReadOnly);
PrintCertNames(store);
var certs = store.Certificates.Find(X509FindType.FindBySubjectName, "localhost", false);
if (certs.Count > 0)
{
var cert = certs[0];
if (IsCertificateTrusted(cert))
{
return cert; // Cert is returned here.
}
}
}
}
Now the app doesn't display at all. Any tips on what to check and how to check things? Note I have my firewall code set to off.
Upvotes: 0
Views: 42