trixy.encryption¶
The Trixy encryption module holds inputs and outputs that have support for encryption that applications might expect. For example, the trixy.encryption.TrixySSLInput
can be used to trick a browser into thinking it is creating an encrypted connection, but the connection can then be re-routed through an unencrypted trixy.TrixyOutput
for easier monitoring.
-
class
trixy.encryption.
TrixySSLInput
(sock, addr, **kwargs)[source]¶ Acts like a normal TrixyInput, but uses Python’s ssl.wrap_socket() code to speak the SSL protocol back to applications that expect it.
-
class
trixy.encryption.
TrixySSLOutput
(loop, host, port, autoconnect=True, **kwargs)[source]¶ Acts like a normal TriyOutput, but uses Python’s ssl.wrap_socket() code to speak the SSL protocol to servers that expect it.
By default this class allows for SSL2 and SSL3 connections in addition to TLS. If you want to specify different settings, you can pass your own context to setup_socket().
-
class
trixy.encryption.
TrixyTLSOutput
(loop, host, port, autoconnect=True, **kwargs)[source]¶ Acts identical to a TrixySSLOutput, but defaults to only accepting TLS for security reasons. This makes it slightly easier to prevent downgrade attacks, especially when doing hasty testing rather than full development.