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:
$ sudo apt-get update
$ sudo apt-get install python-dev python3-dev python-pip libffi-dev
To install wolfssl do:
$ 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:
$ sudo ldconfig
wolfcrypt pip installation
To install wolfcrypt with pip:
$ pip install wolfcrypt
or if you need admin privileges to use pip:
$ sudo -H pip install wolfcrypt
wolfcrypt source installation
To install wolfcrypt from sources:
- Get the sources:
$ git clone git@github.com:wolfssl/wolfssl.git
$ cd wolfssl/wrappers/python
- Build and install
wolfcrypt
$ python setup.py install
...
Finished processing dependencies for wolfcrypt...
or if you need admin privileges to use the install command:
$ sudo python setup.py install
Testing
Test wolfcrypt locally with tox:
- Make sure that the testing requirements are installed:
$ pip install -r requirements-testing.txt
- Call
tox:
$ 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.