json-keystore
EARLY PREVIEW RELEASE of a rudimentary python library for encrypted JSON
Future Plans
- Add AES encryption, or port samples to CryptoDomeX
Install and Initial Setup
This utility allows you to set up an encrypted JSON keystore that supports both GPG and Trezor-CipherKeyValue encryption. You will need either a GPG key pair installed, or a Trezor attached. As a fallback you can store data in naked JSON, but that is obviously not recommended.
Install with Debug support
If you want to debug one of the client calls or step into a trezorlib call, you can install from GIT sources. Then you can add breakpoints in source using calls to breakpoint() to get more detailed information.
- Get source:
git clone https://github.com/brianddk/json-keystore.git - Switch directories:
cd json-keystore - Upgrade setuptools:
python -m pip install --upgrade setuptools pip wheel - Install develop mode via pip:
pip install -e . - Verify install:
python -c "import json_keystore" - Optionally add
breakpoint()into one of the*.pyfiles - Optionally step through code in the python debugger (
pdb)
Install without GIT
To install the most recent edition directly from GitHub tarball:
python -m pip install --upgrade setuptools pip wheel
python -m pip install git+https://github.com/brianddk/json-keystore.git
You won't get to documentation or templates, but all the code will land and function
Install last release from PIP
- Upgrade:
python -m pip install --upgrade setuptools pip wheel - Install:
pip install json-keystore - Verify install:
python -c "import json_keystore"
Building a Keystore
Template keystores are provided in the templates directory. If you decide to use a naked JSON, you can simply modify the null values in the json_ks.json to fill in the key values. If you want to use encryption you will need to modify on of the encryption templates (trezor_ks.json or gnupg_ks.json) and update the unencrypted parameters. These all deal with various encryption settings. Note that for Trezor, zlib is the ONLY supported compression. Since the JSON keystore is self explanatory, I'll focus on building the encrypted keystores.
Building a GnuPG encrypted Keystore:
Start with the GnuPG template gnupg_ks.json, and change the recipient to the key-id of your GnuPG key. This can be the UID (email), or the short or long key hex.
{
"format": "gnupg",
"gnupg": {
"recipient": "TYPE_YOUR_GPG_PUBLIC_KEY_HERE"
}
}
Metadata
Release files for json-keystore 0.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| json_keystore-0.0.1.tar.gz | 11.1 kB | Without provenance | Details for json_keystore-0.0.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| json_keystore-0.0.1-py3-none-any.whl | Python 3 | none | any | Details for json_keystore-0.0.1-py3-none-any.whl |
Total release size: 21.7 kB
Release files / json_keystore-0.0.1.tar.gz
| Download URL | json_keystore-0.0.1.tar.gz |
|---|---|
| Size | 11.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
90efb46dc5fa7b54a896d7bb8004104bf5eea48c09ba3e22a6c1bccec5a6ec2b
|
|
BLAKE2b-256 checksum How to use checksums |
164d354cf86fcef7eb751f4d3577176504e2d81c7801179b47d6b397867a268d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.8.2
|
Release files / json_keystore-0.0.1-py3-none-any.whl
| Download URL | json_keystore-0.0.1-py3-none-any.whl |
|---|---|
| Size | 10.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
310b771c5d24a2fc1e1e6f709165f20e9b1fe572c87d6b8b4718db49773388d3
|
|
BLAKE2b-256 checksum How to use checksums |
3c5ada6f649b7ca044a83da6122aa96ab813f2110b26c1db3c6acde43b883cc2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.8.2
|
Security for json-keystore 0.0.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.