{ "info": { "author": null, "author_email": null, "bugtrack_url": null, "classifiers": [], "description": "Signed JSON\n===========\n\n.. image:: https://img.shields.io/pypi/v/signedjson.svg\n :target: https://pypi.python.org/pypi/signedjson/\n :alt: Latest Version\n\n.. image:: https://img.shields.io/travis/matrix-org/python-signedjson.svg\n :target: https://travis-ci.org/matrix-org/python-signedjson\n\n\nSigns JSON objects with ED25519 signatures.\n\n\nFeatures\n--------\n\n* More than one entity can sign the same object.\n* Each entity can sign the object with more than one key making it easier to\n rotate keys\n* ED25519 can be replaced with a different algorithm.\n* Unprotected data can be added to the object under the ``\"unsigned\"`` key.\n\n\nInstalling\n----------\n\n.. code:: bash\n\n pip install signedjson\n\nUsing\n-----\n\n.. code:: python\n\n from signedjson.key import generate_signing_key, get_verify_key\n from signedjson.sign import (\n sign_json, verify_signed_json, SignatureVerifyException\n )\n\n signing_key = generate_signing_key('zxcvb')\n signed_json = sign_json({'my_key': 'my_data'}, 'Alice', signing_key)\n\n verify_key = get_verify_key(signing_key)\n\n try:\n verify_signed_json(signed_json, 'Alice', verify_key)\n print 'Signature is valid'\n except SignatureVerifyException:\n print 'Signature is invalid'\n\nFormat\n------\n\n.. code:: json\n\n {\n \"\": \"\",\n \"signatures\": {\n \"\": {\n \"ed25519:\": \"\"\n }\n },\n \"unsigned\": {\n \"\": \"\",\n }\n }", "description_content_type": null, "docs_url": null, "download_url": null, "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": null, "keywords": "json", "license": null, "maintainer": null, "maintainer_email": null, "name": "signedjson", "package_url": "https://pypi.org/project/signedjson/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/signedjson/", "project_urls": null, "release_url": "https://pypi.org/project/signedjson/1.0.0/", "requires_dist": [ "canonicaljson (>=1.0.0)", "unpaddedbase64 (>=1.0.1)", "pynacl (>=0.3.0)" ], "requires_python": null, "summary": "Sign JSON with Ed25519 signatures", "version": "1.0.0" }, "last_serial": 1691053, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "3ac8d86fa06121becd0b6c5292baaa9c", "sha256": "2cce6c7a0f0da668f4e3110e728674f67aa3ff3f68ebbf60abfe98d14e23efff" }, "downloads": -1, "filename": "signedjson-1.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3ac8d86fa06121becd0b6c5292baaa9c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6182, "upload_time": "2015-08-24T14:00:34", "url": "https://files.pythonhosted.org/packages/fa/af/45b3f7768a7a1640ab7495b645b5f558653a43355dc0e28cc3128257a9b4/signedjson-1.0.0-py2.py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "3ac8d86fa06121becd0b6c5292baaa9c", "sha256": "2cce6c7a0f0da668f4e3110e728674f67aa3ff3f68ebbf60abfe98d14e23efff" }, "downloads": -1, "filename": "signedjson-1.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3ac8d86fa06121becd0b6c5292baaa9c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6182, "upload_time": "2015-08-24T14:00:34", "url": "https://files.pythonhosted.org/packages/fa/af/45b3f7768a7a1640ab7495b645b5f558653a43355dc0e28cc3128257a9b4/signedjson-1.0.0-py2.py3-none-any.whl" } ] }