Сбой Python при получении буфера ssl - PullRequest
0 голосов
/ 02 ноября 2019

Я получаю сообщение об ошибке при попытке получить сообщение с моего сервера сокетов ssl в python от клиента, я могу отправлять сообщения, но не могу получить его, потому что я получаю эту ошибку.

Это странно, потому что если я сделаю client.getpeername(), который возвращает тип соединения { ('TLS_AES_256_GCM_SHA384', 'TLSv1.3', 256)}

сервер:

HOST = *
PORT = *
BUFSIZ = 10240
ADDR = (HOST, PORT)
print(addresses)
SERVER = socket(AF_INET, SOCK_STREAM)
SERVER.bind(ADDR)
SERVER.listen(5)
print("Waiting for connection...")
newsocket, client_address = SERVER.accept()
       ssl.SSLContext()
client=ssl.wrap_socket(newsocket,server_side=True,certfile="server.crt",keyfile="server.key")
        print (client.getpeername())
        print("%s:%s has connected." % client_address)
msg= client.recv(BUFSIZ)

Traceback (most recent call last):
  File "/usr/lib/python3.7/threading.py", line 917, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.7/threading.py", line 865, in run
    self._target(*self._args, **self._kwargs)
  File "testser.py", line 57, in handle_client
    name = login(client)
  File "testser.py", line 43, in login
    logindet = client.recv(BUFSIZ).decode("utf8")
  File "/usr/lib/python3.7/ssl.py", line 1037, in recv
    return self.read(buflen)
  File "/usr/lib/python3.7/ssl.py", line 913, in read
    return self._sslobj.read(len)
ssl.SSLError: [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:2488)

клиент:

Traceback (most recent call last):
  File "/usr/lib/python3.7/tkinter/__init__.py", line 1705, in __call__
    return self.func(*args)
  File " chat [Doos Version].py", line 97, in login_verify
    msgdec = client_socket.recv(BUFSIZ).decode("utf8")
  File "/usr/lib/python3.7/ssl.py", line 1056, in recv
    return self.read(buflen)
  File "/usr/lib/python3.7/ssl.py", line 931, in read
    return self._sslobj.read(len)
ssl.SSLError: [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:2508)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...