OpenSSL Transport for asyncio
#############################
.. image:: https://github.com/horazont/aioopenssl/workflows/CI/badge.svg
:target: https://github.com/horazont/aioopenssl/actions?query=workflow%3ACI+branch%3Adevel
.. image:: https://coveralls.io/repos/github/horazont/aioopenssl/badge.svg?branch=devel
:target: https://coveralls.io/github/horazont/aioopenssl?branch=devel
``aioopenssl`` provides a `asyncio
<https://docs.python.org/3/library/asyncio.html>`_ Transport which uses
`PyOpenSSL <https://pyopenssl.readthedocs.org/>`_ 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
<https://en.wikipedia.org/wiki/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 <https://github.com/horazont/aioxmpp>`_.`
Documentation
-------------
Official documentation can be built with sphinx and is available online
`on our servers <https://docs.zombofant.net/aioopenssl/0.6/>`_.
Raw data
{
"_id": null,
"home_page": "https://github.com/horazont/aioopenssl",
"name": "aioopenssl",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "openssl asyncio library transport starttls",
"author": "Jonas Wielicki",
"author_email": "jonas@wielicki.name",
"download_url": "https://files.pythonhosted.org/packages/4f/75/1353cda7e6468fb3420603eb52c4cb21659fcf38bbd56c1af042b74d5da4/aioopenssl-0.6.0.tar.gz",
"platform": "",
"description": "OpenSSL Transport for asyncio\n#############################\n\n.. image:: https://github.com/horazont/aioopenssl/workflows/CI/badge.svg\n :target: https://github.com/horazont/aioopenssl/actions?query=workflow%3ACI+branch%3Adevel\n\n.. image:: https://coveralls.io/repos/github/horazont/aioopenssl/badge.svg?branch=devel\n :target: https://coveralls.io/github/horazont/aioopenssl?branch=devel\n\n``aioopenssl`` provides a `asyncio\n<https://docs.python.org/3/library/asyncio.html>`_ Transport which uses\n`PyOpenSSL <https://pyopenssl.readthedocs.org/>`_ instead of the built-in ssl\nmodule.\n\nThe transport has two main advantages compared to the original:\n\n* The TLS handshake can be deferred by passing ``use_starttls=True`` and later\n calling the ``starttls()`` coroutine method.\n\n This is useful for protocols with a `STARTTLS\n <https://en.wikipedia.org/wiki/STARTTLS>`_ feature.\n\n* A coroutine can be called during the TLS handshake; this can be used to defer\n the certificate check to a later point, allowing e.g. to get user feedback\n before the ``starttls()`` method returns.\n\n This allows to ask users for certificate trust without the application layer\n protocol interfering or starting to communicate with the unverified peer.\n\n.. note::\n\n Use this module at your own risk. It has lower test coverage than I\u2019d like\n it to have; it has been exported from aioxmpp on request, where it undergoes\n implicit testing. If you find bugs, please report them. If possible, add\n regression tests while you\u2019re at it.\n\n If you find security-critical bugs, please follow the procedure announced in\n the `aioxmpp readme <https://github.com/horazont/aioxmpp>`_.`\n\nDocumentation\n-------------\n\nOfficial documentation can be built with sphinx and is available online\n`on our servers <https://docs.zombofant.net/aioopenssl/0.6/>`_.",
"bugtrack_url": null,
"license": "Apache 2.0",
"summary": "TLS-capable transport using OpenSSL for asyncio",
"version": "0.6.0",
"split_keywords": [
"openssl",
"asyncio",
"library",
"transport",
"starttls"
],
"urls": [
{
"comment_text": "",
"digests": {
"md5": "0ddad219bcf90d8015aeb575d21d2f1c",
"sha256": "eae2fb193ec0d2a3f752f72d8f672191cc836b1039de5e334cc9cb835b800831"
},
"downloads": -1,
"filename": "aioopenssl-0.6.0.tar.gz",
"has_sig": false,
"md5_digest": "0ddad219bcf90d8015aeb575d21d2f1c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 15727,
"upload_time": "2021-01-16T13:22:36",
"upload_time_iso_8601": "2021-01-16T13:22:36.316836Z",
"url": "https://files.pythonhosted.org/packages/4f/75/1353cda7e6468fb3420603eb52c4cb21659fcf38bbd56c1af042b74d5da4/aioopenssl-0.6.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2021-01-16 13:22:36",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "horazont",
"github_project": "aioopenssl",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"lcname": "aioopenssl"
}