在 Mac 上使用 dotnet core/vs code web api 时,Kestrel 出现自签名证书错误

2024-05-04

我正在尝试遵循this https://learn.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel?view=aspnetcore-3.1文档中的“替换配置中的默认证书”,以便我可以为我使用 dotnet core 3.1 在 VS Code 中开发的 Web API 使用自签名证书(由于 Android 模拟器)。我似乎拿不到我想要的证书。我的密钥库中有两个:localhost(之前由 VS Code 创建)和development(我使用 openssl 创建的)

我已经创建了证书,它在钥匙串中列为“开发”。上面引用的文档说我们可以编辑 appsettings.json 或 appsettings.Development.json (这似乎是更好的选择)以包括:

"Certificates": {
  "Default": {
    "Path": "<path to .pfx file>",
    "Password": "<certificate password>"
  }
}

并将其用于密钥库:

"Default": {
  "Subject": "<subject; required>",
  "Store": "<cert store; required>",
  "Location": "<location; defaults to CurrentUser>",
  "AllowInvalid": "<true or false; defaults to false>"
}

我看过其他一些参考资料,例如.NET Core Kestrel 与 SSL http://www.philipermish.com/blog/how-to-use-ssl-with-dotnet-core-and-kestrel/这是一个很好的参考,但对于 2.0 来说。它确实有一些特定的值来帮助理解如何填写条目,但一些参数已经更改(例如源)。

  "Certificates": {
    "HTTPS": {
      "Source": "Store",
      "StoreLocation": "CurrentUser",
      "StoreName": "My",
      "Subject": "CN=localhost",
      "AllowInvalid": true
    }
  }

我基本上用它作为新参数的指南,我将其包含为:

    "Kestrel": {
    "Certificates": {
      "Default": {
        "Subject": "CN=development",
        "Store": "My",
        "Location": "CurrentUser",
        "AllowInvalid": true
      }
    }
  }

我收到错误: “在 CurrentUser/My 中找不到请求的证书 CN=development,AllowInvalid 设置为:True。”

我也尝试过:

    "Kestrel": {
    "Certificates": {
      "Default": {
        "Subject": "CN=localhost",
        "Store": "My",
        "Location": "CurrentUser",
        "AllowInvalid": true
      }
    }
  }

None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Mac 上使用 dotnet core/vs code web api 时,Kestrel 出现自签名证书错误 的相关文章

随机推荐