Yet another docker/libtrust implement by python.
Project description
py-libtrust - Yet another docker/libtrust implement by python.
Libtrust is library for managing authentication and authorization using public key cryptography.
Works for Python 3.6+.
Usage
Install
You can install from PyPi.
❯ pip install py-libtrust
Example
Sign/Verify a jose-json-web-signature
import datetime
from libtrust.keys.ec_key import generate_private_key
from libtrust.jsonsign import JSONSignature
# Generate a EC P256 private key
ec_key = generate_private_key("P-256")
your_content = {
"author": "shabbywu(shabbywu@qq.com)"
}
# New a JSONSignature
js = JSONSignature.new(your_content)
# signature
js.sign(ec_key, dt=datetime.datetime.utcfromtimestamp(0))
jws = js.to_jws()
loaded_js = JSONSignature.from_jws(jws)
assert js == loaded_js
assert js.verify() == loaded_js.verify()
Serialize/Deserialize a self-signed JSON signature
import json
import datetime
from libtrust.keys.ec_key import generate_private_key
from libtrust.jsonsign import JSONSignature
# Generate a EC P256 private key
ec_key = generate_private_key("P-256")
your_content = {
"author": "shabbywu(shabbywu@qq.com)"
}
# New a JSONSignature
js = JSONSignature.new(your_content)
# signature
js.sign(ec_key, dt=datetime.datetime.utcfromtimestamp(0))
pretty_signature = js.to_pretty_signature("signatures")
loaded_js = js.from_pretty_signature(pretty_signature)
assert js.verify() == loaded_js.verify()
assert json.loads(pretty_signature)["author"] == "shabbywu(shabbywu@qq.com)"
Copyright and license
Code and documentation copyright 2021 shabbywu(shabbywu@qq.com).
Code released under the Apache 2.0 license.
Reference
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
py_libtrust-2.0.0.tar.gz
(13.2 kB
view hashes)
Built Distribution
Close
Hashes for py_libtrust-2.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b6842c99dc11dc5da86063cd5cee5b1a578911e494f8bce2c4220b4c8cffdde3 |
|
MD5 | 1c3c7aeea64493ecb384832d89e03c00 |
|
BLAKE2b-256 | 48b06c0e8737cde6e05da378bdbc92ccc35d09c458baa7f84f7b621a7e01a70a |