Add a layer of SSL to a transport.
| Parameters | transport | The transport which will be modified.  This can either by a FileDescriptoror aFileHandle.
The actual requirements of this instance are that it have:
    a _tlsClientDefaultattribute indicating whether the 
    transport is a client (True) or a server 
    (False)
    a settable TLSattribute which can be used to mark the 
    fact that SSL has been started
    settable getHandleandgetPeerCertificateattributes so theseISSLTransportmethods can be added to it
    a protocolattribute referring to theIProtocolcurrently connected to the transport, which can also be set to a newIProtocolfor the transport to deliver data to | 
|  | contextFactory | An SSL context factory defining SSL parameters for the new SSL layer. (type: twisted.internet.interfaces.IOpenSSLContextFactory) | 
|  | normal | A flag indicating whether SSL will go in the same direction as the 
underlying transport goes.  That is, if the SSL client will be the 
underlying client and the SSL server will be the underlying server. Truemeans it is the same,Falsemeans they are 
switched. | 
|  | bypass | A transport base class to call methods on to bypass the new SSL layer (so 
that the SSL layer itself can send its bytes). (type: type) |