Pythonssl.wrap_套接字舞台调度

2024-10-01 09:20:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在Python2.7.10中实现SSL连接,但当我在accept()之后调用wrap_socket()时,它似乎是阻塞的。我看不出原因,也看不出它没有提到的文档。在

设置类为:

SSLSocketSettings类:

def __init__(self, sslVersion = None, ciphers = None, certFile = None
    , privateKey = None, serverSide = False):

    self._sslVersion = sslVersion
    self._ciphers = ciphers
    self._certFile = None
    self._privateKey = None
    self._serverSide = serverSide

接受是:

^{pr2}$

SSLSocket的构造函数为:

def __init__(self, socketType, settings, socketHandle = None):
    self._rawSocketHandle = socketHandle

    self._settings = settings

    if self._rawSocketHandle == None:
        try:
            self._rawSocketHandle = socket.socket(socketType
                , socket.SOCK_STREAM)
        except OSError:
            raise SystemError("Failed to create return socket")     

    sslObject = ssl.wrap_socket(self._rawSocketHandle
        , settings._privateKey, settings._certFile
        , self._settings._serverSide, do_handshake_on_connect = True)

如有任何建议,我们将不胜感激。在

我的代码基于The Python manual for SSL


Tags: selfnonesslsettingsinitdefsocketwrap