我正在创建一个网站(使用OpenResty,但我不相信这是相关的),它只接受带有客户端证书验证的HTTPS连接。我跟着http://www.integralist.co.uk/posts/clientcertauth.html生成了我自己的证书颁发机构,证书签名请求和CRT。然后我测试了当我使用python
访问URL时,我的网络服务器正确地接受了这个CRTcertName = "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使用特定网址的证书?
答案 0 :(得分:1)
这里有几件事需要解决。
请参阅此博客文章,了解TLS Mutual auth的工作原理:https://blogs.msdn.microsoft.com/kaushal/2015/05/27/client-certificate-authentication-part-1/