Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/wolfssl/wolfssl-py
Python wrapper for wolfSSL embedded SSL/TLS library.
https://github.com/wolfssl/wolfssl-py
cryptography dtls python-ssl python-wrapper python2 python3 security ssl tls tls12 tls13 wolfssl wolfssl-bindings
Last synced: about 23 hours ago
JSON representation
Python wrapper for wolfSSL embedded SSL/TLS library.
- Host: GitHub
- URL: https://github.com/wolfssl/wolfssl-py
- Owner: wolfSSL
- Created: 2017-01-20T18:30:11.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2024-09-12T09:03:33.000Z (2 months ago)
- Last Synced: 2024-10-15T03:21:49.062Z (about 1 month ago)
- Topics: cryptography, dtls, python-ssl, python-wrapper, python2, python3, security, ssl, tls, tls12, tls13, wolfssl, wolfssl-bindings
- Language: Python
- Homepage: https://wolfssl.github.io/wolfssl-py/
- Size: 1.97 MB
- Stars: 39
- Watchers: 21
- Forks: 26
- Open Issues: 8
-
Metadata Files:
- Readme: README.rst
- Changelog: ChangeLog.rst
Awesome Lists containing this project
README
Welcome
=======**wolfSSL Python**, a.k.a. ``wolfssl`` is a Python module
that encapsulates `wolfSSL's SSL/TLS library
`_.The **wolfSSL SSL/TLS library** is a lightweight, portable, C-language-based
library targeted at IoT, embedded, and RTOS environments primarily because of
its size, speed, and feature set. It works seamlessly in desktop, enterprise,
and cloud environments as well.Prerequisites
=============Linux
-----During installation via pip this will download the wolfSSL source and compile it, it therefore needs the same prerequisites as the wolfSSL C library. Therefore in Debian / Ubuntu you should do:
.. code-block:: bash
$ sudo apt install build-essential
$ sudo apt build-dep libwolfssl-devCompiling
=========The `setup.py` file covers most things you will need to do to build and install from source. As pre-requisites you will need to install either from your OS repository or pip. You'll also need the Python development package for your Python version:
* `cffi`
* `tox`
* `pytest`To build a source package run `python setup.py sdist`, to build a wheel package run `python setup.py bdist_wheel`. To test the build run `tox`. The `tox` tests rely on Python 3.9 being installed, if you do not have this version we recommend using `pyenv` to install it.
Installation
============We provide Python wheels (prebuilt binaries) for OSX 64 bits and Linux 64 bits:
.. code-block:: bash
$ pip install wheel
$ pip install wolfsslTo build wolfssl-py from source:
.. code-block:: bash
$ cd wolfssl-py
$ pip install .The default pip install clones wolfSSL from GitHub. To build wolfssl-py using a
local installation of the native wolfSSL C library, the USE_LOCAL_WOLFSSL
environment variable should be set. USE_LOCAL_WOLFSSL can be set to "1" to use
the default library installation location (/usr/local/lib, /usr/local/include),
or to use a custom location it can be set to the install location of your native
wolfSSL library. For example:.. code-block:: bash
# Uses default install location
$ USE_LOCAL_WOLFSSL=1 pip install .# Uses custom install location
$ USE_LOCAL_WOLFSSL=/tmp/install pip install .Disabling secure renegotiation
------------------------------When building wolfssl-py from source secure renegotiation is enabled by
default. To disable secure renegotiation set the environment variable
WOLFSSLPY_DISABLE_SCR during the build process. For example:.. code-block:: bash
$ WOLFSSLPY_DISABLE_SCR=1 pip install .
Testing
=======To run the tox tests in the source code, you'll need ``tox`` and a few other
requirements.1. Make sure that the testing requirements are installed:
.. code-block:: shell
sudo -H pip install -r requirements/test.txt
2. Run ``make check``:
.. code-block:: console
$ make check
...
_________________________________ summary _________________________________
py3: commands succeeded
congratulations :)Support
=======For support and questions, please email [email protected].