Skip to main content

EnigmaBridge Python Client

Project description

With this repo you can use Enigma Bridge encryption service.

Installation

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():

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.

Dependencies

pip install pycrypto requests

Or to install to home directory

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]

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.2.tar.gz (21.5 kB view details)

Uploaded Source

Built Distribution

ebclient-1.1.2-py2.py3-none-any.whl (29.6 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

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

File hashes

Hashes for ebclient-1.1.2.tar.gz
Algorithm Hash digest
SHA256 bafbe6721efb9e298a4f5e8dc481978f345d0fff855e2c7bf9c65f6d4d24d56e
MD5 01d0f244d5a7b0c9bdb8a74e0362b2df
BLAKE2b-256 7f2e0a47c8e446187f6eab56374d3a5d622e5ebc70bcba1de265599a814dfb14

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for ebclient-1.1.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 d56e1962823269bf0cb5ea5dbb9c510d6398a7ba20e1ec00cf8450d70daa5b67
MD5 c958339f506d6897bbc6b221eb4294ea
BLAKE2b-256 f07ca98af53c23581a39a5becaea8921496d8956884027ec7f279d726ca0532b

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