Imported Upstream version 3.10.2+dfsg
This commit is contained in:
144
wrapper/python/wolfcrypt/README.rst
Normal file
144
wrapper/python/wolfcrypt/README.rst
Normal file
@@ -0,0 +1,144 @@
|
||||
|
||||
|
||||
wolfcrypt: the wolfSSL Crypto Engine
|
||||
====================================
|
||||
|
||||
**wolfCrypt Python**, a.k.a. ``wolfcrypt`` is a Python library that encapsulates
|
||||
**wolfSSL's wolfCrypt API**.
|
||||
|
||||
`wolfCrypt <https://wolfssl.com/wolfSSL/Products-wolfcrypt.html>`_ 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. It is the crypto engine behind `wolfSSl's embedded ssl
|
||||
library <https://wolfssl.com/wolfSSL/Products-wolfssl.html>`_.
|
||||
|
||||
|
||||
Installation
|
||||
------------
|
||||
|
||||
In order to use ``wolfcrypt``, first you'll need to install ``wolfssl`` C
|
||||
embedded ssl library.
|
||||
|
||||
Installing ``wolfssl`` :
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
**Mac OSX**
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
brew install wolfssl
|
||||
|
||||
or
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
git clone https://github.com/wolfssl/wolfssl.git
|
||||
cd wolfssl/
|
||||
./autogen.sh
|
||||
./configure --enable-sha512
|
||||
make
|
||||
sudo make install
|
||||
|
||||
|
||||
**Ubuntu**
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y git autoconf libtool
|
||||
|
||||
git clone https://github.com/wolfssl/wolfssl.git
|
||||
cd wolfssl/
|
||||
./autogen.sh
|
||||
./configure --enable-sha512
|
||||
make
|
||||
sudo make install
|
||||
|
||||
sudo ldconfig
|
||||
|
||||
**CentOS**
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
sudo rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-6.noarch.rpm
|
||||
sudo yum update
|
||||
sudo yum install -y git autoconf libtool
|
||||
|
||||
git clone git@github.com:wolfssl/wolfssl.git
|
||||
cd wolfssl
|
||||
./autogen.sh
|
||||
./configure --enable-sha512
|
||||
make
|
||||
sudo make install
|
||||
|
||||
echo /usr/local/lib > wolfssl.conf
|
||||
sudo mv wolfssl.conf /etc/ld.so.conf
|
||||
sudo ldconfig
|
||||
|
||||
|
||||
Installing ``wolfcrypt`` :
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
**Mac OSX**
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
sudo -H pip install wolfcrypt
|
||||
|
||||
|
||||
**Ubuntu**
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
sudo apt-get install -y python-dev python3-dev python-pip libffi-dev
|
||||
sudo -H pip install wolfcrypt
|
||||
|
||||
|
||||
**CentOS**
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
sudo yum install -y python-devel python3-devel python-pip libffi-devel
|
||||
sudo -H pip install wolfcrypt
|
||||
|
||||
|
||||
Testing ``wolfcrypt`` :
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
python -c "from wolfcrypt.hashes import Sha; print Sha().hexdigest()"
|
||||
|
||||
expected output: **da39a3ee5e6b4b0d3255bfef95601890afd80709**
|
||||
|
||||
|
||||
Testing ``wolfcrypt``'s source code with ``tox`` :
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
To run the unit tests in the source code, you'll need ``tox`` and a few other
|
||||
requirements. The source code relies at 'WOLFSSL_DIR/wrapper/python/wolfcrypt'
|
||||
where WOLFSSL_DIR is the path of ``wolfssl``'s source code.
|
||||
|
||||
1. Make sure that the testing requirements are installed:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ sudo -H pip install -r requirements-testing.txt
|
||||
|
||||
|
||||
2. Run ``tox``:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ tox
|
||||
...
|
||||
_________________________________ summary _________________________________
|
||||
py27: commands succeeded
|
||||
SKIPPED: py34: InterpreterNotFound: python3.4
|
||||
py35: commands succeeded
|
||||
congratulations :)
|
||||
|
||||
Note: the test is performed using multiple versions of python. If you are
|
||||
missing a version the test will be skipped with an **InterpreterNotFound
|
||||
error**.
|
||||
Reference in New Issue
Block a user