23 lines
937 B
Python
23 lines
937 B
Python
import ssl
|
|
import socketserver
|
|
|
|
class TLS_ThreadingTCPServer(socketserver.ThreadingMixIn, socketserver.TCPServer):
|
|
"""TCPServer wrapped in TLS and ThreadingMixIn"""
|
|
def __init__(self,
|
|
server_address,
|
|
RequestHandlerClass,
|
|
certfile,
|
|
keyfile,
|
|
bind_and_activate=True):
|
|
socketserver.TCPServer.__init__(self, server_address, RequestHandlerClass, bind_and_activate)
|
|
self.certfile = certfile
|
|
self.keyfile = keyfile
|
|
def get_request(self):
|
|
newsocket, fromaddr = self.socket.accept()
|
|
connstream = ssl.wrap_socket(newsocket,
|
|
server_side=True,
|
|
certfile=self.certfile,
|
|
keyfile=self.keyfile,
|
|
ssl_version = ssl.PROTOCOL_TLS_SERVER)
|
|
return connstream, fromaddr
|