Python HTTPS服务器 - 证书验证

时间:2016-02-02 15:01:38

标签: python ssl curl

我需要用Python创建简单的https服务器。我已经使用了这个教程https://www.piware.de/2011/01/creating-an-https-server-in-python/,它适用于一个小"但是"。

当我尝试卷曲我的服务器时(例如curl -vvv https://domain.com)响应类似于:

  

卷曲:(60)SSL证书问题:无法获得本地发行人   证书更多详情:LINK

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

尝试使用完整的证书链而不是脚本上的证书(和密钥):

httpd.socket = ssl.wrap_socket (httpd.socket, certfile='/path/to/fullchain.pem', server_side=True,  keyfile='/path/to/server.key')

如果您使用自签名证书,除非您在本地CA证书上安装或使用-k运行cURL,否则cURL不会接受它:

curl -vvvk https://domain.com

证书链只是一系列证书,从您当地发行到全球(包括中间商),CA通常会提供它。