Python bindings for the ellipticSecure PKCS11 shared library
Project description
python-libehsm is a Python wrapper for the ellipticSecure PKCS11 shared library
Note that while the wrapper does export some PKCS#11 helper functions it does so only partially - there are other wrappers available to interface with PKCS#11.
The focus of this wrapper is to export the BIP32/Bitcoin specific functions.
Installation
Download and install the native shared library for your platform here: https://ellipticsecure.com/downloads/
pip install python-libehsm
Example
Signing a transaction hash with a BIP32 (Bitcoin etc.) derived key stored on a MIRkey or eHSM device:
import ehsm
mirkey = ehsm.load_ehsm()
# Get the available device slots
slots = mirkey.enumerate_slots()
if len(slots) > 0:
# Use the first available slot
slot = slots[0]
# Initialize the library
mirkey.init()
try:
session = mirkey.get_logged_in_rw_session(slot, b"testsu")
found = mirkey.bip32_has_root_key(session)
if found:
hash = bytes(32)
# list of integers representing a bip32 path to the derived key
#
# ie. this is "m/0", "m" would be []
indexes = [0]
sig = mirkey.bip32_sign_data(session, hash, indexes)
finally:
mirkey.finalize()
else:
print "No devices found"
Please see the test cases for more usage examples.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file ehsm-1.0.0.tar.gz.
File metadata
- Download URL: ehsm-1.0.0.tar.gz
- Upload date:
- Size: 8.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.20.1 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/2.7.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f5778e614a0135da171476c777b112af90e1107894f4e76fb21773ee4c7f5039
|
|
| MD5 |
48268f8b541e665a65c8b3342548ac88
|
|
| BLAKE2b-256 |
342b304e4b69f32866fa479ae726952c86f7770b8856621a0b8763683830a876
|