sign-and-verify
Python library implementing the Sign-and-Verify methodology (see
methodology.md): SAVSigner (owns a KERI AID, issues Foreign Artifact
Wrapper and Dossier credentials, validates external AIDs' signatures) and SAVVerifier
(cryptographically verifies a presented Dossier CESR stream).
Setup
- Install dependencies:
uv sync --group dev - Run the test suite (no network/witness pool required):
uv run pytest - To actually issue credentials against a real keystore:
- Start a
kliwitness demo pool and a vlei-server serving the FAW/Dossier schemas (see thevLEIrepo'sschema/acdc/foreign-artifact-wrapper.jsonandschema/acdc/dossier.json— these must be saidified and published first). - Run
scripts/incept-signer-aid.shonce (withSIGNER_NAME,SIGNER_BASE,SIGNER_ALIAS,SIGNER_PASSset) to incept the signer's AID and its two credential registries. - See
examples/basic_usage.py.
- Start a
- To verify a presented Dossier CESR stream (built via
export_credential, see below):SAVVerifier(VerifierConfig(...)).verify_presentation(cesr, said)— a fresh, throwaway local KERI store; a verifier controls no AID and issues nothing, soVerifierConfigneeds onlyschema_oobisbeyond the keystore location.
Package layout
src/sign_and_verify/signer.py—SAVSigner, the issuance-side public facade.src/sign_and_verify/verifying.py—SAVVerifier:verify_presentation()(crypto validity via keripy'sParser/Verifier) andcheck_revocation()(direct witness TEL query; does not cryptographically verify the revocation event itself — see its docstring for why that's an intentional, precedented choice).src/sign_and_verify/utils.py—export_credential(): serializes a credential's full CESR proof (KEL + TEL + chained edge credentials, recursively, each edge fully introduced before anything that references it + the credential's own ACDC last) into one presentable stream.src/sign_and_verify/environment.py,verifier_environment.py— open an existing signer/verifier keystore (never incepts an AID).src/sign_and_verify/doers.py,issuance.py,resolvers.py,validation.py— supporting modules for the issue-and-wait pattern, schema/OOBI resolution, and signature validation.src/sign_and_verify/config.py,verifier_config.py,errors.py— settings and error types.scripts/— kli-based AID/registry inception tooling.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
sign_and_verify-1.0.0.tar.gz
(138.2 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sign_and_verify-1.0.0.tar.gz.
File metadata
- Download URL: sign_and_verify-1.0.0.tar.gz
- Upload date:
- Size: 138.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.11.15 {"installer":{"name":"uv","version":"0.11.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fca4f547cbfd1d00cd50d6fc4e96f1c5fe6edffe501615c6cc4d4ca5ccd27bef
|
|
| MD5 |
bfeaf162a3b32cdd4787ae815453cc10
|
|
| BLAKE2b-256 |
04d54e4fa87dbb421e5456015be60390e89b49cd6db5c6be17b837a5ff6adcaa
|
File details
Details for the file sign_and_verify-1.0.0-py3-none-any.whl.
File metadata
- Download URL: sign_and_verify-1.0.0-py3-none-any.whl
- Upload date:
- Size: 17.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.11.15 {"installer":{"name":"uv","version":"0.11.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c09b235bdc9613ee0af84dfc8fc85db33d317d66f25d774c78ad91d6efc96195
|
|
| MD5 |
1ba9165374724ff30d85e752c9cfe6c2
|
|
| BLAKE2b-256 |
3e95b7e5199858b8d6a0929be7de69015ed8029c646627944149d5bddb384b11
|