{ "info": { "author": "Guy K. Kloss", "author_email": "guy@mysinglesource.io", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Utilities" ], "description": "SingleSource PyJOSE Library\n===========================\n\nAn (interim) JOSE library, featuring support for Ed25519, X25519,\nChaCha20/Poly1305 and AES256-GCM as required for PyKauriID.\n\n\nInstallation\n------------\n\nTo install use pip:\n\n $ pip install sspyjose\n\n\nOr clone the repo:\n\n $ git clone https://gitlab.com/kauriid/sspyjose.git\n $ python setup.py install\n\nSet up and activate for Python 3:\n\n virtualenv ${HOME}/.virtualenvs/sspyjose \\\n --system-site-packages --python=/usr/bin/python3\n source ${HOME}/.virtualenvs/sspyjose/bin/activate\n\nInstall required packages:\n\n pip install -e .\n\nFor installing the additional development, testing or documentation\ndependencies, add a qualifier with one or more of these commands:\n\n pip install -e .[dev] # Development dependencies\n pip install -e .[test] # Testing dependencies\n pip install -e .[dev,test] # All dependencies together\n\n\nUsage\n-----\n\n### Signing to a JWS\n\n from sspyjose.jwk import Ed25519Jwk\n from sspyjose.jws import Ed25519Jws\n\n # Make a signing key object from a JWK as a JSON string.\n # The JWK must contain the private key seed.\n jwk = Ed25519Jwk(from_json=jwk_string)\n # If the JWK is already parsed to a Python dictionary, use this:\n # jwk = Ed25519Jwk(from_dict=jwk_dict)\n\n # Make a JWS signing object.\n signer = Ed25519Jws(jwk=jwk)\n\n # Assign the content to authenticate.\n signer.payload = {'answer': 42}\n\n # Sign it, and get the content in a compact serialisation format\n # (`jws` is a string).\n signer.sign()\n jws = jws.serialise()\n\n\n### Verifying a JWS\n\n from sspyjose.jwk import Ed25519Jwk\n from sspyjose.jws import Ed25519Jws\n\n # Make a signing key object from a JWK as a JSON string.\n # The JWK only needs to contain the public key.\n jwk = Ed25519Jwk(from_json=jwk_string)\n # If the JWK is already parsed to a Python dictionary, use this:\n # jwk = Ed25519Jwk(from_dict=jwk_dict)\n\n # Make a JWS verifier object.\n verifier = Ed25519Jws(jwk=jwk)\n\n # Load the signed JWS as a compact form string.\n verifier.load_compact(jws)\n\n # Verify it, and get the payload.\n verifier.verify()\n print(verifier.payload)\n\n\nContributing\n------------\n\nTBD\n\n\nExample\n-------\n\nTBD\n\n\n## Licence\n\nCopyright 2018 by SingleSource Limited, Auckland, New Zealand\n\nThis work is licensed under the Apache 2.0 open source licence.\nTerms and conditions apply.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://gitlab.com/kauriid/sspyjose.git", "keywords": "singlesource blockchain data kauri kauriid identity self-sovereign jose jwt jws jwe jwk", "license": "Apache License 2.0", "maintainer": "", "maintainer_email": "", "name": "sspyjose", "package_url": "https://pypi.org/project/sspyjose/", "platform": "", "project_url": "https://pypi.org/project/sspyjose/", "project_urls": { "Homepage": "https://gitlab.com/kauriid/sspyjose.git" }, "release_url": "https://pypi.org/project/sspyjose/0.2.5/", "requires_dist": [ "PyNaCl (>=1.3.0)", "cryptography", "bumpversion ; extra == 'dev'", "flake8 ; extra == 'dev'", "flake8-docstrings ; extra == 'dev'", "pep8-naming ; extra == 'dev'", "flake8-bugbear ; extra == 'dev'", "pypi-publisher ; extra == 'dev'", "pre-commit ; extra == 'dev'", "nose2 ; extra == 'test'", "nose2-cov ; extra == 'test'" ], "requires_python": "", "summary": "An (interim) JOSE library, featuring support for Ed25519, X25519, ChaCha20/Poly1305 and AES256-GCM as required for PyKauriID", "version": "0.2.5" }, "last_serial": 5265214, "releases": { "0.2.3": [ { "comment_text": "", "digests": { "md5": "87a6a34beb679540872bff6a7386700c", "sha256": "e3e072526839193db0402a287fdeb7a83f357dab4cbb635fd46a530361b99baa" }, "downloads": -1, "filename": "sspyjose-0.2.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "87a6a34beb679540872bff6a7386700c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 26884, "upload_time": "2019-03-14T02:34:30", "url": "https://files.pythonhosted.org/packages/b9/a6/68caf28c2104c15abf05ff803b746a870c3b0e0377b74780b358b92aa9ca/sspyjose-0.2.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0cc5e771121dd3c7ab719cd18f45739a", "sha256": "dfd0504e623eedfe568d888db777a73a1cda000abe9179ff624814be6ed382c9" }, "downloads": -1, "filename": "sspyjose-0.2.3.tar.gz", "has_sig": false, "md5_digest": "0cc5e771121dd3c7ab719cd18f45739a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15779, "upload_time": "2019-03-14T02:34:32", "url": "https://files.pythonhosted.org/packages/8e/52/6ccd1d15282d42d71dbe7470e8ba17d506247f7918b7a1405505eb98256b/sspyjose-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "3f274ce47747f71637eef2b3709dc29d", "sha256": "1a387ed8c5ec05408d4a232e65499d09c098aab8dbb0608a3f1a485423176f5a" }, "downloads": -1, "filename": "sspyjose-0.2.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3f274ce47747f71637eef2b3709dc29d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 26864, "upload_time": "2019-03-19T22:51:55", "url": "https://files.pythonhosted.org/packages/6a/6d/53d1beee6d66b8ae8b6ee196325e5de4bbcd11d4ed8d044fb2dd53386902/sspyjose-0.2.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3527a49e1b828f1515b625e2e4641ba8", "sha256": "a5bd873db878609d742a064c76a207ff5da6cc486e0d12c8a9c7561248dbff52" }, "downloads": -1, "filename": "sspyjose-0.2.4.tar.gz", "has_sig": false, "md5_digest": "3527a49e1b828f1515b625e2e4641ba8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15777, "upload_time": "2019-03-19T22:51:57", "url": "https://files.pythonhosted.org/packages/5d/18/39aa3ea272ce93dcb3ef1cdcf4f9a97ee1d331cacff2dc477660f3e6a512/sspyjose-0.2.4.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "4472b1b886d22cac855783ebd800c3d7", "sha256": "ab645d243bbafffe05226f63f6b0695004a01fb7ee1bb7736c60fdd2d5a245f9" }, "downloads": -1, "filename": "sspyjose-0.2.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4472b1b886d22cac855783ebd800c3d7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 27344, "upload_time": "2019-05-14T02:42:14", "url": "https://files.pythonhosted.org/packages/2d/1e/b83a4ff92d8a81c583884c77fb832bb8b3bb82128746b9c4c79313458257/sspyjose-0.2.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "919ddf5830c6aa665eaa4efc091e73c8", "sha256": "756b0a10f31dcefeb639c4516fe17568085d82195c5470d71dbb6b3f5bec9e10" }, "downloads": -1, "filename": "sspyjose-0.2.5.tar.gz", "has_sig": false, "md5_digest": "919ddf5830c6aa665eaa4efc091e73c8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16144, "upload_time": "2019-05-14T02:42:16", "url": "https://files.pythonhosted.org/packages/1e/d8/44e37e1daa646a3232e36de9178cdd663e4a8839e56a2be58157c21a354f/sspyjose-0.2.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4472b1b886d22cac855783ebd800c3d7", "sha256": "ab645d243bbafffe05226f63f6b0695004a01fb7ee1bb7736c60fdd2d5a245f9" }, "downloads": -1, "filename": "sspyjose-0.2.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4472b1b886d22cac855783ebd800c3d7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 27344, "upload_time": "2019-05-14T02:42:14", "url": "https://files.pythonhosted.org/packages/2d/1e/b83a4ff92d8a81c583884c77fb832bb8b3bb82128746b9c4c79313458257/sspyjose-0.2.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "919ddf5830c6aa665eaa4efc091e73c8", "sha256": "756b0a10f31dcefeb639c4516fe17568085d82195c5470d71dbb6b3f5bec9e10" }, "downloads": -1, "filename": "sspyjose-0.2.5.tar.gz", "has_sig": false, "md5_digest": "919ddf5830c6aa665eaa4efc091e73c8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16144, "upload_time": "2019-05-14T02:42:16", "url": "https://files.pythonhosted.org/packages/1e/d8/44e37e1daa646a3232e36de9178cdd663e4a8839e56a2be58157c21a354f/sspyjose-0.2.5.tar.gz" } ] }