Skip to main content

Python module that encapsulates wolfSSL's C SSL/TLS library.

Project description

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:

$ sudo apt install build-essential
$ sudo apt build-dep libwolfssl-dev

Compiling

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:

$ pip install wheel
$ pip install wolfssl

To build wolfssl-py from source:

$ 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:

# 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:

$ 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:

sudo -H pip install -r requirements/test.txt
  1. Run make check:

$ make check
...
_________________________________ summary _________________________________
py3: commands succeeded
congratulations :)

Support

For support and questions, please email support@wolfssl.com.

Project details


Download files

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

Source Distribution

wolfssl-5.9.2.post0.tar.gz (54.8 kB view details)

Uploaded Source

File details

Details for the file wolfssl-5.9.2.post0.tar.gz.

File metadata

  • Download URL: wolfssl-5.9.2.post0.tar.gz
  • Upload date:
  • Size: 54.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for wolfssl-5.9.2.post0.tar.gz
Algorithm Hash digest
SHA256 f32f41812176fdae106420663313c74254c771881ba876dde2f01bc9416b672b
MD5 eebf703c30a19ae38409ba463a490eee
BLAKE2b-256 ca47ca61f2b19b09a0c3b8d77a4f6b9f230553085a9911931de03ca83ff8f039

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page