Skip to main content

TLS-capable transport using OpenSSL for asyncio

Project description

https://travis-ci.org/horazont/aioopenssl.svg?branch=devel https://coveralls.io/repos/github/horazont/aioopenssl/badge.svg?branch=devel

aioopenssl provides a asyncio Transport which uses PyOpenSSL instead of the built-in ssl module.

The transport has two main advantages compared to the original:

  • The TLS handshake can be deferred by passing use_starttls=True and later calling the starttls() coroutine method.

    This is useful for protocols with a STARTTLS feature.

  • A coroutine can be called during the TLS handshake; this can be used to defer the certificate check to a later point, allowing e.g. to get user feedback before the starttls() method returns.

    This allows to ask users for certificate trust without the application layer protocol interfering or starting to communicate with the unverified peer.

Note

Use this module at your own risk. It has lower test coverage than I’d like it to have; it has been exported from aioxmpp on request, where it undergoes implicit testing. If you find bugs, please report them. If possible, add regression tests while you’re at it.

If you find security-critical bugs, please follow the procedure announced in the aioxmpp readme.`

Documentation

Official documentation can be built with sphinx and is available online on our servers.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
aioopenssl-0.4.1.tar.gz (14.8 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page