Proof-of-concept PKI-based database.
A Flask application to provide endpoints for setting/getting values.
All keys are relative to the fingerprint (SHA256(n)
) of the public key.
A valid signature must be provided when setting data.
There are three endpoints:
/get
- get value stored at key, relative to public key fingerprint/set
- set value of key, relative to public key fingerprint/list
- list all keys, optionally relative to parent
Currently, two database implementations are provided: dictionary (in-memory) or file-based.
PKIDB is useful where all data should be publicly accessible, but only writable by those with the corresponding private key.
After cloning the repository with: git clone https://github.com/Zedeldi/PKIDB.git
- Install project:
pip install .
- Run:
pkidb-server [host] [port]
- Install dependencies:
pip install -r requirements.txt
- Run:
python -m pkidb.api [host] [port]
Libraries:
To test PKIDB, install pytest
and run: python -m pytest
PKIDB
is licensed under the MIT Licence for everyone to use, modify and share freely.
This project is distributed in the hope that it will be useful, but without any warranty.
If you found this project useful, please consider donating. Any amount is greatly appreciated! Thank you 😃