diff --git a/mod_pywebsocket/websocket_server.py b/mod_pywebsocket/websocket_server.py --- a/mod_pywebsocket/websocket_server.py +++ b/mod_pywebsocket/websocket_server.py @@ -157,12 +157,11 @@ client_cert_ = ssl.CERT_REQUIRED else: client_cert_ = ssl.CERT_NONE - socket_ = ssl.wrap_socket( - socket_, - keyfile=server_options.private_key, - certfile=server_options.certificate, - ca_certs=server_options.tls_client_ca, - cert_reqs=client_cert_) + ssl_context = ssl.SSLContext(ssl.PROTOCOL_TLS_SERVER) + ssl_context.load_cert_chain(keyfile=server_options.private_key, certfile=server_options.certificate) + ssl_context.load_verify_locations(cafile=server_options.tls_client_ca) + ssl_context.verify_mode = client_cert_ + socket_ = ssl_context.wrap_socket(socket_) self._sockets.append((socket_, addrinfo)) def server_bind(self):