ASP.NET Core w / EF Core API возвращает «Не удалось аутентифицировать HTTPS-соединение». От Postman Get request

#c# #asp.net #authentication #asp.net-core #https

#c# #asp.net #аутентификация #asp.net-core #https

Вопрос:

В качестве упражнения по изучению EF Core с C # / ASP.NET Core я прошел этот урок до конца: ASP.NET Основной веб-API с кодом ядра EF — первый подход.

Как только я закончил, я смог перейти и запустить 'dotnet watch run' из исходной папки и, загрузив конечную точку, http://localhost:5000/api/employee я смог получить ответ в Chrome от перенаправления на https://localhost:5001/api/employee конечную точку.

Я застрял, потому что хочу получить тот же ответ в Postman, но я просто вижу следующее:

Ответ Postman

Это то, что я вижу из Powershell, где я запускаю сервер:

 PS C:UsersfoosourcereposEFCoreCodeFirstSampleEFCoreCodeFirstSample> dotnet watch run
watch : Started
info: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[0]
      User profile is available. Using 'C:UsersC MAppDataLocalASP.NETDataProtection-Keys' as key repository and Windows DPAPI to encrypt keys at rest.
Hosting environment: Development
Content root path: C:UsersfoosourcereposEFCoreCodeFirstSampleEFCoreCodeFirstSample
Now listening on: http://localhost:5000
Now listening on: https://localhost:5001
Application started. Press Ctrl C to shut down.
dbug: HttpsConnectionAdapter[1] 
      Failed to authenticate HTTPS connection.
System.IO.IOException: Authentication failed because the remote party has closed the transport stream.
   at System.Net.Security.SslState.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.PartialFrameCallback(AsyncProtocolRequest asyncRequest)
--- End of stack trace from previous location where exception was thrown ---
   at System.Net.Security.SslState.ThrowIfExceptional()
   at System.Net.Security.SslState.InternalEndProcessAuthentication(LazyAsyncResult lazyResult)
   at System.Net.Security.SslState.EndProcessAuthentication(IAsyncResult result)
   at System.Net.Security.SslStream.EndAuthenticateAsServer(IAsyncResult asyncResult)
   at System.Net.Security.SslStream.<>c.<AuthenticateAsServerAsync>b__51_1(IAsyncResult iar)
   at System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endFunction, Action`1 endAction, Task`1 promise, Boolean requiresSynchronization)
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionAdapter.InnerOnConnectionAsync(ConnectionAdapterContext context)
  

Все, что от

 dbug: HttpsConnectionAdapter[1] 
      Failed to authenticate HTTPS connection
  

и ниже отображается, когда я запускаю запрос Postman Get. Я предполагаю, что это как-то связано с тем, как настроен мой startup.cs… но я не уверен, с чего начать. Поиск по Stack Overflow здесь вызвал у меня много вопросов, касающихся SSL-сертификатов и файлов pfx, но ничего, относящегося к этой проблеме в частности. Я новичок в этом и учусь в школе, так что, возможно, я просто пропустил ответ, потому что на данный момент это выходит за рамки моих знаний? Я не понимаю, почему это будет работать в Chrome, но не в Postman.

Комментарии:

1. Это было решено путем отключения проверки SSL-сертификата в Postman, но если кто-нибудь может помочь мне выяснить, с чего начать проверку SSL-сертификата, это было бы очень ценно.

2. Надеюсь, это локальный сертификат разработчика. Вы пробовали с помощью — dotnet dev-certs https --help и доверяете своему сертификату? hanselman.com/blog /…