Google Chrome使用网站证书

时间:2017-03-15 18:50:48

标签: windows ssl nginx https ssl-certificate

我正在创建一个网站(使用OpenResty,但我不相信这是相关的),它只接受带有客户端证书验证的HTTPS连接。我跟着http://www.integralist.co.uk/posts/clientcertauth.html生成了我自己的证书颁发机构,证书签名请求和CRT。然后我测试了当我使用python

访问URL时,我的网络服务器正确地接受了这个CRT
certName = "mycert"
cert = (certName + ".crt", certName + ".key")
response = requests.get(url, params=urlencode(payload), cert=cert, verify=False, stream=True)

现在,我正在尝试从Google Chrome访问相同的网址。我使用了设置 - > HTTPS / SSL - >管理证书 - >导入以导入我的CRT文件。但是,每当我转到URL时,我总是得到400 Bad Request - 没有发送所需的SSL证书。通过查看nginx错误日志,我确认"客户端没有发送所需的SSL证书"

如何告知Chrome使用特定网址的证书?

1 个答案:

答案 0 :(得分:1)

这里有几件事需要解决。

  1. 您是否已在相应的CA商店中安装了CA证书?
  2. 您需要在当前用户存储中导入客户端证书和私钥。文件扩展名为 .pfx 。您当前收到400错误,因为浏览器认为它没有任何客户端证书可供使用。
  3. 您无法指定chrome以使用特定网址的特定证书。
  4. 请参阅此博客文章,了解TLS Mutual auth的工作原理:https://blogs.msdn.microsoft.com/kaushal/2015/05/27/client-certificate-authentication-part-1/