Certificate problem starting kestrel asp net server windows 10 c vs2019


ASP.NET is a popular programming language used for developing web applications. It provides a for building dynamic websites, web services, and web APIs. However, like any other programming language, ASP.NET can encounter issues and errors that need to be resolved. One common problem that developers may face is the certificate problem when starting the Kestrel ASP.NET server on 10 using Visual Studio 2019.

The Certificate Problem

When starting the Kestrel ASP.NET server on Windows 10 using Visual Studio 2019, you may encounter a certificate problem. This problem occurs because Kestrel requires a valid SSL certificate to establish a secure connection. Without a valid certificate, the server cannot start properly.


To solve the certificate problem, you need to generate a self-signed SSL certificate and configure Kestrel to use it. Here are the steps to follow:

Step 1: Generate a Self-Signed SSL Certificate

To generate a self-signed SSL certificate, you can use the OpenSSL tool. Open a command prompt and to the directory where OpenSSL is installed. Then, run the following command:

openssl req -x509 -newkey rsa:4096 -sha256 -nodes -keyout localhost.key -out localhost.crt -subj "/CN=localhost" -days 365

This command generates a key (localhost.key) and a self-signed certificate (localhost.crt) valid for 365 days. The common name (CN) is set to “localhost” in this example, but you can change it to match your domain or .

Step 2: Configure Kestrel to Use the SSL Certificate

Once you have generated the SSL certificate, you need to configure Kestrel to use it. Open your ASP.NET project in Visual Studio 2019 and locate the “Program.cs” file. Add the following code snippet inside the “CreateHostBuilder” method:

webBuilder.UseKestrel(options =>
    options.Listen(IPAddress.Loopback, 5001, listenOptions =>
        listenOptions.UseHttps("localhost.crt", "localhost.key");

This code configures Kestrel to listen on the loopback address (localhost) and port 5001. It also specifies the SSL certificate and private key files generated in the step.

Step 3: Trust the Self-Signed SSL Certificate

By default, Windows does not trust self-signed SSL certificates. To avoid certificate validation errors, you need to trust the self-signed certificate generated in Step 1. Follow steps to trust the certificate:

  1. Open the “localhost.crt” file in Windows.
  2. Click on the “Install Certificate” button.
  3. the “Local Machine” option and click “Next”.
  4. Select the “ all certificates in the following store” option and click “Browse”.
  5. Choose the “Trusted Root Certification Authorities” store and click “OK”.
  6. Click “Next” and then “Finish” to complete the certificate installation.


By following the steps outlined above, you can solve the certificate problem when starting the Kestrel ASP.NET server on Windows 10 using Visual Studio 2019. Generating a self-signed SSL certificate and configuring Kestrel to use it, along with trusting the certificate, ensures that the server can establish a secure connection and start without any issues.

Rate this post

Leave a Reply

Your email address will not be published. Required fields are marked *

Table of Contents