Я пытаюсь получить сертификат сервера с помощью клиента. Ниже приведена соответствующая часть моего кода, написанного на 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 2 ноября 2017 года и работает под управлением Ubuntu 18.04, а сервер имеет OpenSSL 1.0.2k-fips 26 января 2017 года и работает под управлением CentOS 7.6.
Связана ли эта проблема с различными версиями OpenSSL?