TLS

class kaa.net.tls.M2TLSSocket

TLSSocket implementation that uses M2Crypto. This class uses OpenSSL’s BIO pairs for guaranteed async IO; all socket communication is handled by us (via the IOChannel). See:

http://www.openssl.org/docs/crypto/BIO_new_bio_pair.html

Inspired heavily by TwistedProtocolWrapper.py from M2Crypto.

Synopsis

Class Hierarchy

kaa.Object
└─ kaa.IOChannel
     └─ kaa.Socket
          └─ kaa.net.tls.TLSSocketBase
               └─ kaa.net.tls.M2TLSSocket

Methods
close()
starttls_client()TODO: document me.
starttls_server()
write()
Properties
This class has no properties.
Signals
tlsEmitted when a TLS handshake has been successfully completed.

Methods

close(immediate=False, expected=True)
starttls_client(**kwargs)

TODO: document me.

Possible kwargs:

cert: filename to pem cert for local side key: private key file (if None, assumes key is in cert) dh: filename for Diffie-Hellman parameters (only used for server) verify: if True, checks that the peer cert is signed by a known CA check: 2-tuple (host, fingerprint) to control further peer cert checks:

host: None: validate CN from host from connect();
False: don’t do any CN checking string: require CN match the string

fingerprint: peer cert digest must match fingerprint, or None not to check.

starttls_server(**kwargs)
write(data)

Signals

tls
Emitted when a TLS handshake has been successfully completed.

class kaa.net.tls.TLSLiteSocket(cafile=None)

Synopsis

Class Hierarchy

kaa.Object
└─ kaa.IOChannel
     └─ kaa.Socket
          └─ kaa.net.tls.TLSSocketBase
               └─ kaa.net.tls.TLSLiteSocket

Methods
starttls_client()
starttls_server()
Properties
This class has no properties.
Signals
tlsEmitted when a TLS handshake has been successfully completed.

Methods

starttls_client(*args, **kwargs)
starttls_server(*args, **kwargs)

Signals

tls
Emitted when a TLS handshake has been successfully completed.

class kaa.net.tls.GNUTLSSocket(cafile=None)

Synopsis

Class Hierarchy

kaa.Object
└─ kaa.IOChannel
     └─ kaa.Socket
          └─ kaa.net.tls.TLSSocketBase
               └─ kaa.net.tls.GNUTLSSocket

Methods
handshake_client()
handshake_server()
Properties
peer_certificateread-only
Signals
tlsEmitted when a TLS handshake has been successfully completed.

Methods

handshake_client(credentials, srp=None)
handshake_server(credentials, srp=None)

Properties

peer_certificate

Signals

tls
Emitted when a TLS handshake has been successfully completed.

Previous topic

Input Plugins

Next topic

Multicast DNS

This Page