{ "info": { "author": "Daniel Holth", "author_email": "dholth@fastmail.fm", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: Apache Software License", "Topic :: Security :: Cryptography" ], "description": "\nrsalette\n========\n\nCompact pure-Python RSA verification.\n\nrsalette provides a compact, < 200 lines, pure-Python 2+3, single file\nRSA verification library that is compatible with JSON Web Key.\n\nIt includes a JSON Web Signature (JWS) / JSON Web Token (JWT)\nverifier that can be used for OpenID Connect.\n\nIt includes asn1lette, a limited asn.1 parser that can parse RSA public\nkeys from PEM or DER data.\n\nrsalette comes with no warranty, but if you'd like to do an audit,\nit's short.\n\nUsage::\n\n\timport rsalette\n\tverifier = rsalette.PublicKey.from_jwk({'kty':'RSA', 'e':'AQAB', 'n': ...})\n\tverified_message = verifier.verify(message, signature)\n\nFor JSON Web Token::\n\n\topenid_configuration = { ... } # value from .well-known/openid-configuration\n\tid_token = '...' # value from OpenID Connect remote user\n\tjwks = requests.get(openid_configuration['jwks_uri']).json()\n\tpayload = rsalette.verify_jwt(id_token, jwks)\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://bitbucket.org/dholth/rsalette/", "keywords": "rsa jwk jwt", "license": "ASL 2", "maintainer": "", "maintainer_email": "", "name": "rsalette", "package_url": "https://pypi.org/project/rsalette/", "platform": "", "project_url": "https://pypi.org/project/rsalette/", "project_urls": { "Homepage": "http://bitbucket.org/dholth/rsalette/" }, "release_url": "https://pypi.org/project/rsalette/0.4.2/", "requires_dist": [ "coverage; extra == 'test'", "nose; extra == 'test'" ], "requires_python": "", "summary": "", "version": "0.4.2" }, "last_serial": 5257544, "releases": { "0.0.0": [ { "comment_text": "", "digests": { "md5": "551fcb09c687cacd76d35a105dfe856e", "sha256": "40d104a2c8c76b8b473f3091dcb1f30a498a5095cf6aa8d62ff2812211efda07" }, "downloads": -1, "filename": "rsalette-0.0.0-cp27-none-linux_x86_64.whl", "has_sig": false, "md5_digest": "551fcb09c687cacd76d35a105dfe856e", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 1355, "upload_time": "2013-03-23T03:25:38", "url": "https://files.pythonhosted.org/packages/d2/a3/22cf02d984d23acf9fd7d88c7098628e9de67d68efb5ea1103e44b2eca70/rsalette-0.0.0-cp27-none-linux_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "35382ae2eaabf6e520a433cfac75cee5", "sha256": "bd374720935d6e00896c19700de700efd4775e2033fcd4187e898a0aa66a42bc" }, "downloads": -1, "filename": "rsalette-0.0.0.tar.gz", "has_sig": false, "md5_digest": "35382ae2eaabf6e520a433cfac75cee5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4884, "upload_time": "2013-03-23T03:25:36", "url": "https://files.pythonhosted.org/packages/38/f2/b7bdeeb7971d532247832295748ad9f00771ff03944fd66f74c59eabd560/rsalette-0.0.0.tar.gz" } ], "0.0.1": [ { "comment_text": "", "digests": { "md5": "ef9d66ed25bea811ae7d7e673b6a399c", "sha256": "f2623aeedc7097a7e96c6bb2832447253e96dafa655d9ab4736ccd34f66d4846" }, "downloads": -1, "filename": "rsalette-0.0.1-cp27-none-linux_x86_64.whl", "has_sig": false, "md5_digest": "ef9d66ed25bea811ae7d7e673b6a399c", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 1375, "upload_time": "2013-03-23T04:04:35", "url": "https://files.pythonhosted.org/packages/89/f0/d16cdeef554938cf0e75617e75163bc736a5c6efee1e92fc6ab24713a897/rsalette-0.0.1-cp27-none-linux_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "58125bbe3d4816b9a9c784d46b378268", "sha256": "94be9abba8efa7ac2c27d0473146a43dea0226ac7ba273fd2c5684be08768c87" }, "downloads": -1, "filename": "rsalette-0.0.1.tar.gz", "has_sig": false, "md5_digest": "58125bbe3d4816b9a9c784d46b378268", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4912, "upload_time": "2013-03-23T04:04:33", "url": "https://files.pythonhosted.org/packages/6d/93/947604f198bafbdafff9992208686e21167c94b0c14ccf45e8a44e4d7233/rsalette-0.0.1.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "d2db4b6ba648d20a3516b398471600f1", "sha256": "7d1e2123cabed8e4f6f6e11485dd0f6dab7c732a3e7da48c2828f6234691ebdb" }, "downloads": -1, "filename": "rsalette-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d2db4b6ba648d20a3516b398471600f1", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 3141, "upload_time": "2013-03-24T02:52:26", "url": "https://files.pythonhosted.org/packages/29/28/6bc9a8be22a126154d45bff5728aa7d2a0ff2ba2f0c066c0cf7aeefd88a3/rsalette-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e8e3d71afd681f853747ff9f8a8a3a12", "sha256": "98aed4f2c2288fdb43593312cfbc6f84e7da71c8d4afe9442bf5e85a9e667ab5" }, "downloads": -1, "filename": "rsalette-0.1.0.tar.gz", "has_sig": false, "md5_digest": "e8e3d71afd681f853747ff9f8a8a3a12", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5361, "upload_time": "2013-03-24T02:52:24", "url": "https://files.pythonhosted.org/packages/bf/6c/28415fa8ba0dc2a185f0713b38d079cd8bc4cd8fbd3bbb076c69a62f9c6c/rsalette-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "545852601fb2672e21a522b07fdbf8ee", "sha256": "6999330860227e646411fd1d0aaa1ccbe2b80cb89d2e7dfafc84c6d70b6e8d5b" }, "downloads": -1, "filename": "rsalette-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "545852601fb2672e21a522b07fdbf8ee", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 3937, "upload_time": "2013-03-24T16:52:26", "url": "https://files.pythonhosted.org/packages/63/31/fc85d05301dc2a78c8d21a96869e7d4f19932cc9dabd0d50ec09134fd1e8/rsalette-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "46cba5433647badf859d3884049b41bf", "sha256": "8e7b1091e64cfcfc728e4b3a0b05e8be76d46481056d005e5843192638401525" }, "downloads": -1, "filename": "rsalette-0.2.0.tar.gz", "has_sig": false, "md5_digest": "46cba5433647badf859d3884049b41bf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6148, "upload_time": "2013-03-24T16:52:20", "url": "https://files.pythonhosted.org/packages/cb/03/a23ffcacedc1c445b3431c1a8a4c63823ff3133df19ecc7c0f400c2de60c/rsalette-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "586b3b81a6f8c49529e361c55720f7db", "sha256": "30c9d02e709ad08a0082dd3d79c128469f607481fe38dd1164d26aa522d6762d" }, "downloads": -1, "filename": "rsalette-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "586b3b81a6f8c49529e361c55720f7db", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 3903, "upload_time": "2016-08-27T23:46:24", "url": "https://files.pythonhosted.org/packages/cc/bf/7f2f353ced1a9c6ad53a80ea847dfcadcd194f287a856a9b29ea724848f3/rsalette-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "10f46e0786bf3d817304a5352342cda0", "sha256": "b3a823080fa3b7699bc6e253a7ae59c72dcb9d169f514107afa6a663bb65d12f" }, "downloads": -1, "filename": "rsalette-0.3.0.zip", "has_sig": false, "md5_digest": "10f46e0786bf3d817304a5352342cda0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8831, "upload_time": "2016-08-27T23:46:26", "url": "https://files.pythonhosted.org/packages/70/15/f66121a1f237b35824feb6dfd815b2ea5eac53211c29f4a42a85536cf4f6/rsalette-0.3.0.zip" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "1a2b931b67c27ae89c013d527729a426", "sha256": "25b3e73847253523274adbb99f12f5d924ecd15667db6f66629e2cdbda786e8f" }, "downloads": -1, "filename": "rsalette-0.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1a2b931b67c27ae89c013d527729a426", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4380, "upload_time": "2016-09-06T01:39:04", "url": "https://files.pythonhosted.org/packages/6c/b5/a4f72eb276a66908533bafc87e23261b5fe2910e4e50dd110a1a615b545e/rsalette-0.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "52af1526a39c330b2a454172e481ebc8", "sha256": "62cf878df2cbdc826a10639a10ee75794d1748cbd1e4f3c08758d4410b207ded" }, "downloads": -1, "filename": "rsalette-0.4.0.zip", "has_sig": false, "md5_digest": "52af1526a39c330b2a454172e481ebc8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9386, "upload_time": "2016-09-06T01:39:06", "url": "https://files.pythonhosted.org/packages/f1/a5/7ae4878dccbf2e90b04976caabd126f7b19956fa7bf0810fd57018239f11/rsalette-0.4.0.zip" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "40a5500569832a248708dc9a56a1fbd8", "sha256": "2509ab6bc6685bdf7c2e6ef2e232cf28d35a843192e853d87850f6cae1d29b50" }, "downloads": -1, "filename": "rsalette-0.4.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "40a5500569832a248708dc9a56a1fbd8", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4657, "upload_time": "2016-10-02T02:45:59", "url": "https://files.pythonhosted.org/packages/f0/2b/a44382181b30195df3bf18253213425c6e54920b31e55697060784e1df25/rsalette-0.4.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "15cbb3e709c9449638407f222803741d", "sha256": "ee6fb8c805500fd849f7198252e08c84117d023905e6fe332a9b142d62b88718" }, "downloads": -1, "filename": "rsalette-0.4.1.zip", "has_sig": false, "md5_digest": "15cbb3e709c9449638407f222803741d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9658, "upload_time": "2016-10-02T02:46:03", "url": "https://files.pythonhosted.org/packages/d8/e7/c4299ee525247b406a07fc15ab1b762c857ebb0de91da4268853d9acb834/rsalette-0.4.1.zip" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "338b9bc3e930f902ecd006d9a630e90d", "sha256": "abd0e1d6e80aa329e36bbebcb8fc2e9928c743eb01a1f654d650d819dae43c1a" }, "downloads": -1, "filename": "rsalette-0.4.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "338b9bc3e930f902ecd006d9a630e90d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4656, "upload_time": "2019-05-11T22:44:39", "url": "https://files.pythonhosted.org/packages/b2/b4/ad267e37b99f89a6e426aa3dafda5d845a7508aff583745046a1b915a429/rsalette-0.4.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dc9ffeb9fa8b8570fa583674562c3a87", "sha256": "104536d2e74733d7118a6044d52926cc45cce42424d59d9f80322f0bc273cc0b" }, "downloads": -1, "filename": "rsalette-0.4.2.tar.gz", "has_sig": false, "md5_digest": "dc9ffeb9fa8b8570fa583674562c3a87", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7406, "upload_time": "2019-05-11T22:44:40", "url": "https://files.pythonhosted.org/packages/78/03/1ca74b88b9e9d16ef27de5973b4a878463a89a3a0600b1d985907a53b51d/rsalette-0.4.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "338b9bc3e930f902ecd006d9a630e90d", "sha256": "abd0e1d6e80aa329e36bbebcb8fc2e9928c743eb01a1f654d650d819dae43c1a" }, "downloads": -1, "filename": "rsalette-0.4.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "338b9bc3e930f902ecd006d9a630e90d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4656, "upload_time": "2019-05-11T22:44:39", "url": "https://files.pythonhosted.org/packages/b2/b4/ad267e37b99f89a6e426aa3dafda5d845a7508aff583745046a1b915a429/rsalette-0.4.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dc9ffeb9fa8b8570fa583674562c3a87", "sha256": "104536d2e74733d7118a6044d52926cc45cce42424d59d9f80322f0bc273cc0b" }, "downloads": -1, "filename": "rsalette-0.4.2.tar.gz", "has_sig": false, "md5_digest": "dc9ffeb9fa8b8570fa583674562c3a87", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7406, "upload_time": "2019-05-11T22:44:40", "url": "https://files.pythonhosted.org/packages/78/03/1ca74b88b9e9d16ef27de5973b4a878463a89a3a0600b1d985907a53b51d/rsalette-0.4.2.tar.gz" } ] }