在Python 3.6中使用客户端获取服务器证书时出现问题

时间:2019-01-07 12:05:41

标签: python ubuntu openssl centos

我正在尝试使用客户端获取服务器证书。以下是我用Python 3.6编写的代码的相关部分:

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((mailhost, int(port)))
ctx = ssl.create_default_context()
ctx.check_hostname = True
ctx.verify_mode = ssl.CERT_REQUIRED
s = ctx.wrap_socket(s, server_hostname=mailhost)
cert_bin = s.getpeercert(True)

运行此代码后,调用“ wrap_socket”方法时出现以下错误:

[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:847)

客户端具有OpenSSL 1.1.0g,于2017年11月2日运行Ubuntu 18.04,服务器具有OpenSSL 1.0.2k-fips,于2017年1月26日运行CentOS 7.6。

此问题与OpenSSL的不同版本有关吗?

0 个答案:

没有答案