Class TLSSocketServerMixIn
This class can be mixed in with any 
SocketServer.TCPServer to add TLS support.
To use this class, define a new class that inherits from it and some 
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()
  | Method Summary | 
|  | finish_request(self,
          sock,
          client_address) | 
|  | handshake(self,
          tlsConnection) |