Como Corrigir o Erro NET::ERR_CERT_INVALID no ASP.NET Core
O erro NET::ERR_CERT_INVALID indica que o certificado SSL usado pela sua aplicação localhost não é válido. Isso geralmente acontece durante o desenvolvimento local, pois o certificado autoassinado que o ASP.NET Core usa por padrão não é reconhecido como confiável pelo navegador.
1. Confirme a Confiabilidade do Certificado SSL
Você pode adicionar o certificado SSL autoassinado do ASP.NET Core à lista de certificados confiáveis no seu sistema operacional.
Para Windows:
- Execute o comando
dotnet dev-certs https --trustno terminal. Isso vai instalar e confiar no certificado de desenvolvimento. - Quando solicitado, siga as instruções para adicionar o certificado à sua lista de certificados confiáveis.
Para macOS:
- Execute o comando
dotnet dev-certs https --trust. - Quando solicitado, insira suas credenciais administrativas para confiar no certificado.
Para Linux:
- Execute o comando
dotnet dev-certs https. - Dependendo da distribuição, siga as instruções específicas para adicionar o certificado ao armazenamento de certificados confiáveis. Para Ubuntu, por exemplo:
dotnet dev-certs https -ep ${HOME}/.aspnet/https/aspnetapp.pfx -p password sudo cp ${HOME}/.aspnet/https/aspnetapp.pfx /usr/local/share/ca-certificates/aspnetapp.crt sudo update-ca-certificates
2. Configurar o Certificado SSL no appsettings.json
Você pode configurar o aplicativo ASP.NET Core para usar um certificado SSL específico. Adicione ou edite a seção Kestrel no seu appsettings.json para apontar para um certificado específico:
{
"Kestrel": {
"EndPoints": {
"Https": {
"Url": "https://localhost:5001",
"Certificate": {
"Path": "path-to-your-certificate.pfx",
"Password": "your-certificate-password"
}
}
}
}
}
3. Desabilitar HTTPS (apenas para desenvolvimento)
Desabilitar HTTPS pode ser uma solução rápida para desenvolvimento local, mas não deve ser usado em produção.
No arquivo launchSettings.json, altere launchBrowser e applicationUrl para não usar HTTPS:
{
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
},
"applicationUrl": "http://localhost:5000"
},
"YourProjectName": {
"commandName": "Project",
"launchBrowser": true,
"applicationUrl": "http://localhost:5000",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}
4. Usar HTTP em vez de HTTPS (apenas para desenvolvimento)
No seu arquivo Program.cs, configure o Kestrel para usar HTTP em vez de HTTPS:
var builder = WebApplication.CreateBuilder(args);
builder.WebHost.ConfigureKestrel(serverOptions =>
{
serverOptions.Listen(IPAddress.Loopback, 5000); // HTTP
// serverOptions.Listen(IPAddress.Loopback, 5001, listenOptions => // HTTPS
// {
// listenOptions.UseHttps();
// });
});
var app = builder.Build();
app.UseHttpsRedirection(); // Opcionalmente, remova esta linha
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.MapControllers();
app.Run();
Essas etapas devem ajudar a resolver o problema com o certificado SSL inválido durante o desenvolvimento local. Para produção, é sempre recomendável usar um certificado SSL válido emitido por uma autoridade certificadora confiável.
Isto foi útil?
1 / 1