'Unable to configure HTTPS endpoint. No server certificate was specified, and the default developer certificate could not be found

I am working on a fabric application where I have configured HTTPS. It is throwing an exception though I have a valid installed certificate.



Solution 1:[1]

These instructions from this blog worked for me

  1. dotnet dev-certs https --clean
  2. dotnet dev-certs https -t
  3. Restart VS

Solution 2:[2]

I am on OSX and dotnet dev-certs https --clean and sudo dotnet dev-certs https --clean were not working for me. Finally I was able to fix it with the following steps.

  1. Go into Keychain Access
  2. Unlock System Keychain
  3. Delete the localhost certificate
  4. Run dotnet dev-certs https -t

You should now be able to run without the error.

Edit:

If, after following the above answer, you do run into an error that reads There was an error saving the HTTPS developer certificate... check out this answer https://stackoverflow.com/a/56709117/621827

Solution 3:[3]

Solution

(for Windows, not sure if there's an equivalent issue/solution for other OSs)

In a command prompt or Powershell terminal:

  • Run certmgr.msc and delete all localhost certificates under both Personal\Certificates and Trusted Root Certification Authorities\Certificates.
  • Then run dotnet dev-certs https -t a single time to create and trust a new development certificate.
  • Verify by running dotnet dev-certs https --check --verbose, or just try debugging your ASP.NET app again.

You may also need to run dotnet dev-certs https --clean before creating the new certificate.

Solution 4:[4]

For me the problem was resolved by running:

  1. dotnet dev-certs https --clean
  2. dotnet dev-certs https --verbose

enter image description here

Solution 5:[5]

I had this issue on my Windows 10 system using visual studio. The problem seemed to be that the command used in the GUI to clear the local certs for HTTPS was failing with an error message that I can no longer reproduce.

The solution for me was to open the certmgr for the current windows account and to delete all of the personal localhost certs. There was ~20 certs there for me because I've tried re-creating them many times. After deleting all of those certs I ran my .Net core HTTPS API once more and everything worked!

In summary, open your certmgr for your current user and clear all personal/localhost certs.

Solution 6:[6]

For me deleting the files under file:\\%APPDATA%\Microsoft\SystemCertificates\My\Certificates and run in cmd dotnet dev-certs https -t solved my issue.

Solution 7:[7]

In windows, dotnet dev-certs https --clean doesn't work for me, I have to delete these localhost certs manually.

  1. Open certmgr.msc
  2. Delete all localhost certs under 'Trusted Root Certification Authorities/Certificates'
  3. Run dotnet dev-certs https -t

Solution 8:[8]

Open RUN , then type mmc.exe, then

enter image description here

enter image description here

double click certificate

enter image description here

Delete localhost cert in both folders

enter image description here

then open your powershell

dotnet dev-certs https --clean
dotnet dev-certs https 
dotnet dev-certs https --trust

Solution 9:[9]

I had a similar (but not exactly the same) problem.
With 2.1 you have to configure your certificate.
I do this now completely in appsettings.json.
You can find my posting here:
Configure self hosting Kestrel App with certificate for https (internet web server)

Only have a look to the solution...

Solution 10:[10]

If dotnet dev-certs https --clean not working.

  1. Open Run and open mmc.exe
  2. Inside MMC from File menu click on Add/Remove Snap-in.
  3. In the add/remove snap-in window, find certificates in available snap-ins and add it to the selected
  4. Pick User account
  5. In the console root -> Certificates Current User -> Personal click on Certificates
  6. You will see the list of issued and installed certificates for the current user. DON’T remove or change any certificates you don’t know, only remove certificates related to self-sign localhost ASP.NET Core.

Solution 11:[11]

If you are visiting this page and if you are unfortunate like me who tried every single solution/approach mentioned on this page but nothing worked, then you may like to know what I did and solved my problem.

I was getting this error from my ASP.NET Core web application no matter how many times I deleted the localhost certificates.

enter image description here

Then, I created a self-signed certificate using Powershell with this command. [I copied this PowerShell snippet from somewhere on the internet. Cannot remember the source.]

  $cert = New-SelfSignedCertificate -DnsName mydemowebapp.net -CertStoreLocation cert:\LocalMachine\My
  $pwd = ConvertTo-SecureString -String "MyPassword" -Force -AsPlainText
  Export-PfxCertificate -Cert $cert -FilePath C:\temp\cert.pfx -Password $pwd

Then, in my appsertings.Development.json, I added this entry.

  "Kestrel": {
    "EndPoints": {
      "Https": {
        "Url": "https://localhost:5000",
        "Certificate": {
          "Path": "C:\\temp\\cert.pfx",
          "Password": "MyPassword",
          "AllowInvalid": "true"
        }
      }
    }
  }

Ran the application, boom! problem solved. I used the same URL https://localhost:5000 as I found in my LaunceSettings.

enter image description here

I hate a solution like this, but at least I could continue my development with such a solution. I do not know what really happened recently that I had to face this issue. Was that a windows update? or something else? I don't know. I did not face this issue before, until recently. And yes, I remembered to run the Website in Kestrel rather than IIS.

Solution 12:[12]

I had the same issues and cleaning -> then installing certs helped me (another answer here). You also may issue a certificate as like for production server. Quite helpful to know.

Solution 13:[13]

Not sure if this will help anybody else but I had exactly this issue on my Mac. I have the project in Dropbox and so it is shared across machines, on the '2nd' machine I had to go in and manually delete the 'obj' and 'bin' folders, then re-run the application and it all worked

Solution 14:[14]

If you want to work with an environment that is not Development, don't forget that user secrets are only added automatically when env is Development.

You can use the AddUserSecrets methods to resolve this :

public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder.ConfigureAppConfiguration((hostingContext, builder) =>
                {
                    var env = hostingContext.HostingEnvironment;
                    if (env.IsEnvironment("Local"))
                    {
                        builder.AddUserSecrets<Startup>();
                    }
                })
                .UseStartup<Startup>();
            });

see also : https://docs.microsoft.com/en-us/aspnet/core/security/app-secrets?view=aspnetcore-3.1&tabs=windows#access-a-secret

Solution 15:[15]

I was having the same issue. The problem was that the project was with .net 4.6.1 and not .net core .

Solution 16:[16]

I run this on my command prompt. btw I am using Window 10 dotnet dev-certs https dotnet dev-certs https -t

Solution 17:[17]

  1. dotnet tool uninstall --global dotnet-dev-certs --version (required version)
  2. dotnet tool install --global dotnet-dev-certs
  3. dotnet dev-certs https --trust

For more details visit the GitHub issue page here also the official documentation Here

Solution 18:[18]

I ran into this problem and my solution was to restart. When I did and then reopened Visual Studio 2019, it asked me to accept a new SSL certificate. After that, I was able to run my program.

Solution 19:[19]

One more detail - If you generally log in as a normal (non-admin) user, do NOT run the "dotnet dev-certs https" commands from an admin command prompt if you have a separate admin-level identity. Run them in a normal command prompt under your normal login. Ask me how I know. :-P

If you run these commands from an elevated command prompt (using a distinctly separate admin identity) you will experience the following:

  • "dotnet dev-certs https --trust" will work just fine
  • "dotnet dev-certs https --check --verbose" will tell you that everything is fine
  • VS Code will continue to spit out the "Unable to configure HTTPS endpoint ..." error when you try to start the debugger
  • You will continue to get "Certificate Not Trusted" warnings from your browser.

If you see these issues, run the "dotnet dev-certs https" commands from a normal command prompt. Fixed it for me. Hope this helps someone without spending the time that I did on this!

Solution 20:[20]

Generate a new certificate:

$ dotnet dev-certs https --trust
The HTTPS developer certificate was generated successfully.

Solution 21:[21]

I commented following line in 'Startup.cs' file, and it worked for me.

app.UseHttpsRedirection();