I have created an sample ASP.NET Core application using command line:
dotnet new
and tried to run it utilizing command:
dotnet run
But, when opening the URL in the browser, it complains that the SSL is invalid.
I can run the program using Visual Studio full version without any problem, but can not run it using command line:
dotnet run
Seems that Kestrel which is run by command dotnet run needs extra configurations.
Now, the question is how can I run my ASP.NET Core application over https using Kestrel?
I'm on Dot Net Core 2.2 and Visual Studio 2019
It seems that IIS Express does some works behinds the scense which include configuration of a SSL certification. So, I concentrated on ASP.NET Core's internal hosting component which is Kestrel.
Firstly, I created and SSL certificate using PowerShell by help of this command:
New-SelfSignedCertificate -DnsName localhost -CertStoreLocation "cert:\LocalMachine\My"
This command creats a certification which I can see it through management console / certificates program. For more information see this. After creating a new certificate, you are required to export it as a pfx file. To do so in the management console use follwing steps:
Certificates snap-in to the management console.Personal\Certifcatespfx is automatically selected. Click "Next"Next step is to configure ASP.NET Core to use the pfx file which is described here:
public static IWebHost BuildWebHost(string[] args) => WebHost.CreateDefaultBuilder(args) .UseStartup < Startup > () .UseKestrel((hostingContext, options) => { if (hostingContext.HostingEnvironment.IsDevelopment) { options.Listen(IPAddress.Loopback, 9001); options.Listen(IPAddress.Loopback, 9002, listenOptions => { listenOptions.UseHttps("certificate.pfx", "password"); }); } }) .Build();
Now, the problem should be resolved. If not, try the certificate which is created by the IIS Express. This is also available in management console.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With