Skip to main content

json-keystore

PyPI version License GitHub GitHub Discussions Donate with Bitcoin Lightning Donate with Bitcoin

EARLY PREVIEW RELEASE of a rudimentary python library for encrypted JSON

Future Plans

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.

  1. Get source: git clone https://github.com/brianddk/json-keystore.git
  2. Switch directories: cd json-keystore
  3. Upgrade setuptools: python -m pip install --upgrade setuptools pip wheel
  4. Install develop mode via pip: pip install -e .
  5. Verify install: python -c "import json_keystore"
  6. Optionally add breakpoint() into one of the *.py files
  7. 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

  1. Upgrade: python -m pip install --upgrade setuptools pip wheel
  2. Install: pip install json-keystore
  3. 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)

Source distribution for json-keystore 0.0.1
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)

Table of built distributions (wheels) for json-keystore 0.0.1
File Interpreter ABI Platform Actions
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.

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page