相关疑难解决方法(0)

Python - SSL - 错误的版本号

这可能只是另一个未解决的线程,但无论如何我会填写一些信息.

我甚至连一秒钟都无法将我的SSL包装在一起.对我的wrap_socket()和do_handshake()做错了什么想法?

关键文件似乎100%完美,我在握手之前尝试过没有.recv()的AND.这只是根据我放置recv()的位置生成这些:

SSL3_GET_CLIENT_HELLO:版本号错误

SSL3_GET_RECORD:版本号错误

class Server():
    def __init__(self, listen = '', port = 8080, ssl = False):
        self.sock = socket.socket()
        self.sock.bind((listen, port))
        self.sock.listen(5)

    def accept(self):
        newsocket, fromaddr = self.sock.accept()
        newsocket.recv(32)
        newsocket.setblocking(0)
        sslsock = ssl.wrap_socket(newsocket,
                                    server_side=True,
                                    certfile="./kernel/sock/server.crt",
                                    keyfile="./kernel/sock/server.key",
                                    cert_reqs=ssl.CERT_NONE,
                                    ssl_version=ssl.PROTOCOL_TLSv1,
                                    do_handshake_on_connect=False,
                                    suppress_ragged_eofs=True)
        sslsock.do_handshake()
        return sslsock, fromaddr
Run Code Online (Sandbox Code Playgroud)

为了记录,如果它不明显或我错了,这是握手失败:)

我稍微修改了代码,尝试SSLv3并且还改变了包装的位置:

import socket, ssl, time, select

class Server():
    def __init__(self, listen = '', port = 443, ssl = False):
        self.sock = socket.socket()
        self.sock.bind((listen, port))
        self.sock.listen(5)

    def accept(self):
        self.sock = ssl.wrap_socket(self.sock,
                                    server_side=True,
                                    certfile="./kernel/sock/server.crt",
                                    keyfile="./kernel/sock/server.key", …
Run Code Online (Sandbox Code Playgroud)

python sockets ssl pyopenssl

14
推荐指数
1
解决办法
5万
查看次数

标签 统计

pyopenssl ×1

python ×1

sockets ×1

ssl ×1