Skip to content

Repository files navigation

Signed JSON

Latest Version

Signs JSON objects with ED25519 signatures.

Features

  • More than one entity can sign the same object.
  • Each entity can sign the object with more than one key making it easier to rotate keys
  • ED25519 can be replaced with a different algorithm.
  • Unprotected data can be added to the object under the "unsigned" key.

Installing

pip install signedjson

Using

fromsignedjson.keyimportgenerate_signing_key, get_verify_keyfromsignedjson.signimport (
sign_json, verify_signed_json, SignatureVerifyException
)
signing_key=generate_signing_key('zxcvb')
signed_json=sign_json({'my_key': 'my_data'}, 'Alice', signing_key)
verify_key=get_verify_key(signing_key)
try:
verify_signed_json(signed_json, 'Alice', verify_key)
print'Signature is valid'exceptSignatureVerifyException:
print'Signature is invalid'

Format

{
"<protected_name>": "<protected_value>",
"signatures": {
"<entity_name>": {
"ed25519:<key_id>": "<unpadded_base64_signature>"
}
},
"unsigned": {
"<unprotected_name>": "<unprotected_value>",
}
}

About

Sign JSON objects with ED25519 signatures

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages