Skip to main content

EnigmaBridge Python Client

Project description

`Enigma Bridge <https://www.enigmabridge.com>`__ Python client
==============================================================

With this repo you can use `Enigma Bridge <https://www.enigmabridge.com>`__ encryption service.

Installation
------------

.. code:: bash

pip install ebclient

Usage
-----

The following example assumes that you already have access to the encryption server, i.e., you have a valid api key,
which in this case is 'API_TEST'.

Calling processData():

.. code:: python

from ebclient.process_data import ProcessData
from ebclient.uo import Configuration, Endpoint, SimpleRetry, UO
from ebclient.crypto_util import *

# Construct general configuration (endpoint, request config)
cfg = Configuration()
cfg.endpoint_process = Endpoint.url('https://site2.enigmabridge.com:11180')
cfg.api_key = 'API_TEST'

# UO you want to work with
uo_aes = UO(uo_id=0xee01,
uo_type=0x4,
enc_key=from_hex('e134567890123456789012345678901234567890123456789012345678901234'),
mac_key=from_hex('e224262820223456789012345678901234567890123456789012345678901234'),
configuration=cfg)

# ProcessData itself
pd = ProcessData(uo=uo_aes, config=cfg)
result = pd.call(from_hex('6bc1bee22e409f96e93d7e117393172a'))
print(from_hex('95c6bb9b6a1c3835f98cc56087a03e82') == result)

For more usage examples please refer to tests and our `API
documentation <https://api.enigmabridge.com/api/?python>`__.

Dependencies
------------

.. code:: bash

pip install pycrypto requests

Or to install to home directory

.. code:: bash

pip install --user pycrypto requests

If the error ``ImportError: No module named Crypto`` is thrown it's
needed to run pip with ``--upgrade`` and update pycrypto to the latest
version.

Compatibility
-------------

We should be compatible with Python 2.6+ and Python 3+.

Troubleshooting
---------------

Error in installation of dependencies (cryptography, pyOpenSSL):
``sorry, but this version only supports 100 named groups``
[`100-named-groups <https://community.letsencrypt.org/t/certbot-auto-fails-while-setting-up-virtual-environment-complains-about-package-hashes/20529/18>`__]

Solution: Install downgraded version of pycparser and pyOpenSSL:

::

pip install pycparser==2.13
pip install pyOpenSSL==0.13
pip install cryptography

You may need to install some deps for the python packages

::

yum install gcc g++ openssl-devel libffi-devel python-devel

SNI on Python < 2.7.9
~~~~~~~~~~~~~~~~~~~~~

TLS SNI support was added to Python. For earlier versions SNI needs to
be added to Requests networking library.

::

pip install urllib3
pip install pyopenssl
pip install ndg-httpsclient
pip install pyasn1

Mac OSX installation
~~~~~~~~~~~~~~~~~~~~

For new OSX versions (El Capitan and above) the default system python
installation cannot be modified with standard means. There are some
workarounds, but one can also use ``--user`` switch for pip.

::

pip install --user cryptography

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

ebclient-1.1.3.tar.gz (21.6 kB view details)

Uploaded Source

Built Distribution

ebclient-1.1.3-py2.py3-none-any.whl (29.7 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file ebclient-1.1.3.tar.gz.

File metadata

  • Download URL: ebclient-1.1.3.tar.gz
  • Upload date:
  • Size: 21.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Python-urllib/3.6

File hashes

Hashes for ebclient-1.1.3.tar.gz
Algorithm Hash digest
SHA256 dec431984cc78d2ce9fab307c9a73f36fbb3075285faee427e3b3aaa47b8cb8c
MD5 14c0ee6432eb7773ccc08da74d96a505
BLAKE2b-256 45ace90b407bb4a223363efc0d250a7a3ca1378dc734a9e6da7d5a2b3b7ad270

See more details on using hashes here.

File details

Details for the file ebclient-1.1.3-py2.py3-none-any.whl.

File metadata

  • Download URL: ebclient-1.1.3-py2.py3-none-any.whl
  • Upload date:
  • Size: 29.7 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Python-urllib/3.6

File hashes

Hashes for ebclient-1.1.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 cf64013a4436f8506d5f67142966a3bdd5655d883e413cfdc75b4e5ea56a0a9d
MD5 90623a511931586230c7f38e0f4549d6
BLAKE2b-256 a7466a8fe29fe8e7ff6414e2ba577c1cadec446a9b727e63ce3ec315cb20bc2f

See more details on using hashes here.

Supported by

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