wolfcrypt: the wolfSSL Crypto Engine ==================================== **wolfCrypt Python**, a.k.a. ``wolfcrypt`` is a Python library that encapsulates **wolfSSL's wolfCrypt API**. **wolfCrypt** is a lightweight, portable, C-language-based crypto 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. Installation ------------ You can install ``wolfcrypt`` via ``pip`` or ``source code``, but before installing it, make sure you have ``wolfssl`` C library installed in your machine. **Linux ONLY:** Make sure you have ``python-dev``, ``python3-dev``, ``python-pip`` and ``libffi-dev`` installed: .. code-block:: console $ sudo apt-get update $ sudo apt-get install python-dev python3-dev python-pip libffi-dev To install wolfssl do: .. code-block:: console $ git clone git@github.com:wolfssl/wolfssl.git $ cd wolfssl $ ./autogen.sh $ ./configure $ make $ sudo make install **Linux ONLY:** Update your dynamic linker bindings with: .. code-block:: console $ sudo ldconfig # or $ export LD_LIBRARY_PATH=/usr/local/lib wolfcrypt pip installation ~~~~~~~~~~~~~~~~~~~~~~~~~~ To install ``wolfcrypt`` with ``pip``: .. code-block:: console $ pip install wolfcrypt or if you need admin privileges to use ``pip``: .. code-block:: console $ sudo -H pip install wolfcrypt wolfcrypt source installation ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ To install ``wolfcrypt`` from sources: 1. Get the sources: .. code-block:: console $ git clone git@github.com:wolfssl/wolfssl.git $ cd wolfssl/wrapper/python 2. Build and install ``wolfcrypt`` .. code-block:: console $ python setup.py install ... Finished processing dependencies for wolfcrypt... or if you need admin privileges to use the install command: .. code-block:: console $ sudo python setup.py install Testing ------- Test ``wolfcrypt`` locally with ``tox``: 1. Make sure that the testing requirements are installed: .. code-block:: console $ pip install -r requirements-testing.txt or if you need admin privileges to use the install command: .. code-block:: console $ sudo -H pip install -r requirements-testing.txt 2. Call ``tox``: .. code-block:: console $ tox ... _________________________________ summary _________________________________ py27: commands succeeded SKIPPED: py34: InterpreterNotFound: python3.4 py35: commands succeeded congratulations :) Note that some tests might be skipped if you don't have the proper interpreter.