在 Chrome 中发送带有客户端证书的 HTTP 请求

Sending an HTTP request with client certificates in Chrome

我在 Azure 上有一个受 mutual authentication 保护的 API。服务器证书由 Azure 内部处理:

我已经创建了一个自签名证书并将其添加到我本地计算机的受信任的根证书颁发机构以及我的个人[=31=列表中] 证书:

当我尝试通过 Chrome(特别是 Chrome App Postman)访问 API 时,我收到一个 403 指示我的请求没有关联的证书它。

  1. 我对这应该如何工作有误解吗?
  2. 可能是我创建的客户端证书不正确。我在网上阅读的所有内容都指向使用 OpenSSL 创建这些,但是我在 Windows 机器上将它设置为 运行 时遇到了一些问题,并使用了各种其他工具:MakeCert, PowerShell's New-SelfSignedCertificate, and Self-Signed Certificate Generator。所有似乎都创建了证书,但我无法真正知道我是否正确创建了它们。
  3. 如果证书创建正确,我如何才能 Chrome 提交带有请求的证书?当我将它添加到商店时,它不应该自动获取证书吗?

原来我必须转到 chrome 中站点的根目录 url(即 https://my_app_name.azurewebsites.net),然后 chrome 会显示一个弹出窗口让我可以选择用于请求的证书。