【问题标题】:How to setup the HTTPS certificate in an ASP.NET Core 2.1 application running against UBUNTU?如何在针对 UBUNTU 运行的 ASP.NET Core 2.1 应用程序中设置 HTTPS 证书?
【发布时间】:2018-11-06 14:37:00
【问题描述】:

我有一个使用 ASP.NET Core 2.1 创建的简单 Web 应用程序,并且在调试时不断遇到 HTTPS 证书。

虽然它在 Windows 中运行良好,但由于缺少集中式证书存储,它在 Ubuntu 中却不行。

Hosting environment: Development
Content root path: /home/perret/Desktop/Tests/Showtime/ConsoleAppPlaygroun/WebApplicationTest
Now listening on: https://localhost:5001
Now listening on: http://localhost:5000
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.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult lazyResult)
   at System.Net.Security.SslStream.BeginAuthenticateAsServer(SslServerAuthenticationOptions sslServerAuthenticationOptions, CancellationToken cancellationToken, AsyncCallback asyncCallback, Object asyncState)
   at System.Net.Security.SslStream.<>c.<AuthenticateAsServerAsync>b__51_0(SslServerAuthenticationOptions arg1, CancellationToken arg2, AsyncCallback callback, Object state)
   at System.Threading.Tasks.TaskFactory`1.FromAsyncImpl[TArg1,TArg2](Func`5 beginMethod, Func`2 endFunction, Action`1 endAction, TArg1 arg1, TArg2 arg2, Object state, TaskCreationOptions creationOptions)
   at System.Threading.Tasks.TaskFactory.FromAsync[TArg1,TArg2](Func`5 beginMethod, Action`1 endMethod, TArg1 arg1, TArg2 arg2, Object state, TaskCreationOptions creationOptions)
   at System.Threading.Tasks.TaskFactory.FromAsync[TArg1,TArg2](Func`5 beginMethod, Action`1 endMethod, TArg1 arg1, TArg2 arg2, Object state)
   at System.Net.Security.SslStream.AuthenticateAsServerAsync(SslServerAuthenticationOptions sslServerAuthenticationOptions, CancellationToken cancellationToken)
   at Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionAdapter.InnerOnConnectionAsync(ConnectionAdapterContext context)

我读到了:

我仍然没有看到任何指导/教程在调试时使用 Ubuntu 正确设置证书。

【问题讨论】:

    标签: ubuntu https certificate asp.net-core-2.1


    【解决方案1】:

    好吧,自从我切换到 Manjaro 并且我有 related problems 进行修复后,我设法让它工作,就开发证书而言,两个发行版的步骤是相同的​​。

    步骤:

    • 首先安装开发自签名证书的工具:dotnet tool install --global dotnet-dev-certs

    • 然后您需要为每个 bash 实例导出 dotnet 工具的路径:export PATH="$PATH:/home/{your-username}/.dotnet/tools"

    • 注册开发自签名证书:dotnet dev-certs https

    • 就是这样,你可以用https调试了~~

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-26
      • 2019-03-15
      • 1970-01-01
      • 2019-04-08
      • 2020-07-16
      • 2018-11-28
      • 2019-02-11
      • 2017-03-06
      相关资源
      最近更新 更多