|  |  | 
TLSSocketServerMixIn
 
 
| class TLSSocketServerMixIn
 |  |  | This class can be mixed in with any L{SocketServer.TCPServer} to add TLS support.
 
 To use this class, define a new class that inherits from it and
 some L{SocketServer.TCPServer} (with the mix-in first). Then
 implement the handshake() method, doing some sort of server
 handshake on the connection argument.  If the handshake method
 returns True, the RequestHandler will be triggered.  Below is a
 complete example of a threaded HTTPS server::
 
 from SocketServer import *
 from BaseHTTPServer import *
 from SimpleHTTPServer import *
 from tlslite.api import *
 
 s = open("./serverX509Cert.pem").read()
 x509 = X509()
 x509.parse(s)
 certChain = X509CertChain([x509])
 
 s = open("./serverX509Key.pem").read()
 privateKey = parsePEMKey(s, private=True)
 
 sessionCache = SessionCache()
 
 class MyHTTPServer(ThreadingMixIn, TLSSocketServerMixIn,
 HTTPServer):
 def handshake(self, tlsConnection):
 try:
 tlsConnection.handshakeServer(certChain=certChain,
 privateKey=privateKey,
 sessionCache=sessionCache)
 tlsConnection.ignoreAbruptClose = True
 return True
 except TLSError, error:
 print "Handshake failure:", str(error)
 return False
 
 httpd = MyHTTPServer(('localhost', 443), SimpleHTTPRequestHandler)
 httpd.serve_forever()
 
 |  |  | Methods defined here: 
 finish_request(self, sock, client_address)
 handshake(self, tlsConnection)#Implement this method to do some form of handshaking.  Return True#if the handshake finishes properly and the request is authorized.
 |  |