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

wolfssl, wolfcrypt, security, cryptography, dtls, python-ssl, python-wrapper, python2, python3, ssl, tls, tls12, tls13
pip install wolfssl==4.1.0.post0



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.


We provide Python wheels (prebuilt binaries) for OSX 64 bits and Linux 64 bits:

$ 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 locaiton 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 .


To run the tests that ship with wolfssl-py, after compiling the library run one of the following commands:

$ pytest
$ py.test tests


For support and questions, please email