尝试在 ASP.NET 教程上使用 httprepl 时出现 SSL 证书问题

Jim*_*ode 6 c# linux asp.net ssl ubuntu-18.04

我是 C# 和 .NET 新手,我正在尝试遵循Microsoft 网站上的“创建 Web API”教程。Test PostTodoItem部分,我按照说明进行安装httprepl并尝试执行以下两个命令:

httprepl https://localhost:5001/api/todoitems
post -h Content-Type=application/json -c "{"name":"walk dog","isComplete":true}"
Run Code Online (Sandbox Code Playgroud)

我的终端出现以下错误:The SSL connection could not be established, see inner exception.。屏幕截图: 在此输入图像描述

我尝试按照各种说明更新我的计算机上的 SSL 证书。例如,当我输入时, dotnet dev-certs https --trust我得到以下内容:, 对 dotnet dev-certs https --trust 响应的屏幕截图

响应A valid HTTPS certificate is already present.表明我已经解决了问题,但我仍然无法httprepl正确运行。我已经在 Windows 机器上尝试过了,效果很好(他们有更简单的方法来处理 SSL 请求/授予权限)。

我可以在浏览器中运行应用程序/API,所以我认为我不需要在 Firefox/Chrome 方面进行任何更改?

我看过其他堆栈溢出解决方案,它们要么不起作用,要么我不理解它们。我的dotnet --version6.0.101

我很确定我已经为此创建了 SSL 证书。https.crt我的文件夹中有一个名为/usr/local/share/ca-certificates/aspnethttps.crt 的屏幕截图

我不知道它是否相关,但它的底部有“DNS:localhost”。任何人都可以解释如何解决/解决这个问题,以便我可以让教程正常工作吗?我尝试遵循这个解决方案,但我无法复制我将它与我现有的进行了比较,它localhost.crt看起来几乎相同,所以我猜它不会修复任何问题。/usr/local/share/ca-certificates/localhost.crthttps.crt

小智 1

有一个解决方法与 httprepl 一样有效(但没有这个问题)。您可以使用 VSCode“Rest Client”扩展来运行 .http 文件中描述的 http 请求。它会自动配置 CA 证书。Jetbrains Rider 的“HTTP Client”插件的工作原理相同。