gevent._sslgte279 – SSL wrapper for socket objects on Python 2.7.9 and above

SSL wrapper for socket objects on Python 2.7.9 and above.

For the documentation, refer to ssl module manual.

This module implements cooperative SSL socket wrappers.

exception SSLSyscallError

Bases: ssl.SSLError

System error when attempting SSL operation.

exception SSLError

Bases: socket.error

An error occurred in the SSL implementation.

socket_error

alias of socket.error

exception SSLZeroReturnError

Bases: ssl.SSLError

SSL/TLS session closed cleanly.

exception SSLEOFError

Bases: ssl.SSLError

SSL/TLS connection terminated abruptly.

exception CertificateError[source]

Bases: exceptions.ValueError

exception SSLWantWriteError

Bases: ssl.SSLError

Non-blocking SSL socket needs to write more data before the requested operation can be completed.

exception SSLWantReadError

Bases: ssl.SSLError

Non-blocking SSL socket needs to read more data before the requested operation can be completed.

class SSLContext(protocol)[source]

Bases: ssl.SSLContext

class SSLSocket(sock=None, keyfile=None, certfile=None, server_side=False, cert_reqs=0, ssl_version=2, ca_certs=None, do_handshake_on_connect=True, family=2, type=1, proto=0, fileno=None, suppress_ragged_eofs=True, npn_protocols=None, ciphers=None, server_hostname=None, _context=None)[source]

Bases: gevent._socket2.socket

gevent ssl.SSLSocket for Pythons >= 2.7.9 but less than 3.

accept()[source]

Accepts a new connection from a remote client, and returns a tuple containing that new connection wrapped with a server-side SSL channel, and the address of the remote client.

connect(addr)[source]

Connects to remote ADDR, and then wraps the connection in an SSL channel.

connect_ex(addr)[source]

Connects to remote ADDR, and then wraps the connection in an SSL channel.

do_handshake()[source]

Perform a TLS/SSL handshake.

dup() → socket object[source]

Return a new socket object connected to the same system resource. Note, that the new socket does not inherit the timeout.

get_channel_binding(cb_type='tls-unique')[source]

Get channel binding data for current connection. Raise ValueError if the requested cb_type is not supported. Return bytes of the data or None if the data is not available (e.g. before the handshake).

getpeercert(binary_form=False)[source]

Returns a formatted version of the data in the certificate provided by the other end of the SSL channel. Return None if no certificate was provided, {} if a certificate was provided, but not validated.

makefile(mode='r', bufsize=-1)[source]

Make and return a file-like object that works with the SSL connection. Just use the code from the socket module.

read(len=1024, buffer=None)[source]

Read up to LEN bytes and return them. Return zero-length string on EOF.

sendall(data[, flags])[source]

Send a data string to the socket. For the optional flags argument, see the Unix manual. This calls send() repeatedly until all data is sent. If an error occurs, it’s impossible to tell how much data has been sent.

shutdown(flag)[source]

Shut down the reading side of the socket (flag == SHUT_RD), the writing side of the socket (flag == SHUT_WR), or both ends (flag == SHUT_RDWR).

version()[source]

Return a string identifying the protocol version used by the current SSL channel, or None if there is no established channel.

write(data)[source]

Write DATA to the underlying SSL channel. Returns number of bytes of DATA actually transmitted.

class DefaultVerifyPaths(cafile, capath, openssl_cafile_env, openssl_cafile, openssl_capath_env, openssl_capath)

Bases: tuple

Create new instance of DefaultVerifyPaths(cafile, capath, openssl_cafile_env, openssl_cafile, openssl_capath_env, openssl_capath)

cafile

Alias for field number 0

capath

Alias for field number 1

openssl_cafile

Alias for field number 3

openssl_cafile_env

Alias for field number 2

openssl_capath

Alias for field number 5

openssl_capath_env

Alias for field number 4

class Purpose[source]

Bases: ssl._ASN1Object

SSLContext purpose flags with X509v3 Extended Key Usage objects

class closing(thing)[source]

Bases: object

Context to automatically close something at the end of a block.

Code like this:

with closing(<module>.open(<arguments>)) as f:
<block>

is equivalent to this:

f = <module>.open(<arguments>) try:

<block>
finally:
f.close()
get_server_certificate(addr, ssl_version=2, ca_certs=None)[source]

Retrieve the certificate from the server at the specified address, and return it as a PEM-encoded string. If ‘ca_certs’ is specified, validate the server cert against it. If ‘ssl_version’ is specified, use it in the connection attempt.

create_default_context(purpose=_ASN1Object(nid=129, shortname='serverAuth', longname='TLS Web Server Authentication', oid='1.3.6.1.5.5.7.3.1'), cafile=None, capath=None, cadata=None)[source]

Create a SSLContext object with default settings.

NOTE: The protocol and settings may change anytime without prior
deprecation. The values represent a fair balance between maximum compatibility and security.
sslwrap_simple(sock, keyfile=None, certfile=None)[source]

A replacement for the old socket.ssl function. Designed for compability with Python 2.5 and earlier. Will disappear in Python 3.0.

cert_time_to_seconds(cert_time)[source]

Return the time in seconds since the Epoch, given the timestring representing the “notBefore” or “notAfter” date from a certificate in "%b %d %H:%M:%S %Y %Z" strptime format (C locale).

“notBefore” or “notAfter” dates must use UTC (RFC 5280).

Month is one of: Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec UTC should be specified as GMT (see ASN1_TIME_print())

DER_cert_to_PEM_cert(der_cert_bytes)[source]

Takes a certificate in binary DER format and returns the PEM version of it as a string.

match_hostname(cert, hostname)[source]

Verify that cert (in decoded format as returned by SSLSocket.getpeercert()) matches the hostname. RFC 2818 and RFC 6125 rules are followed, but IP addresses are not accepted for hostname.

CertificateError is raised on failure. On success, the function returns nothing.

RAND_status() → 0 or 1

Returns 1 if the OpenSSL PRNG has been seeded with enough data and 0 if not. It is necessary to seed the PRNG with RAND_add() on some platforms before using the ssl() function.

RAND_add(string, entropy)

Mix string into the OpenSSL PRNG state. entropy (a float) is a lower bound on the entropy contained in string. See RFC 1750.

get_default_verify_paths()[source]

Return paths to default cafile and capath.

PEM_cert_to_DER_cert(pem_cert_string)[source]

Takes a certificate in ASCII PEM format and returns the DER-encoded version of it as a byte sequence

Next page: gevent._ssl2 – SSL wrapper for socket objects on Python 2.7.8 and below