{ "info": { "author": "Laurens Van Houtven", "author_email": "_@lvh.io", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Framework :: Twisted", "Intended Audience :: Education", "License :: OSI Approved :: ISC License (ISCL)", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 2 :: Only", "Topic :: Education", "Topic :: Games/Entertainment", "Topic :: Security :: Cryptography" ], "description": "=========\n clarent\n=========\n\n.. image:: https://travis-ci.org/crypto101/clarent.png\n :target: https://travis-ci.org/crypto101/clarent\n.. image:: https://coveralls.io/repos/crypto101/clarent/badge.png?branch=master\n :target: https://coveralls.io/r/crypto101/clarent?branch=master\n\n.. image:: https://dl.dropbox.com/u/38476311/Logos/clarent.png\n\nclarent is the home of the shared parts between merlyn_ and arthur_.\nIt is built as part of Crypto 101, the introductory book on\ncryptography.\n\nChangelog\n=========\n\n0.1.1\n-----\n\n``SecureCiphersContextFactory`` now sets other sane defaults such as\n``SSL.OP_NO_COMPRESSION``, ``SSL.OP_SINGLE_DH_USE``,\n``SSL.OP_SINGLE_ECDH_USE``.\n\n0.1.0\n-----\n\nSeveral minor cleanups. We now explicitly test that there is a\nsupported ciphersuite for the OpenSSL that comes shipped with OS X\nMavericks, since that's almost certainly the crappiest OpenSSL out\nthere in the wild that we care about (developer desktop machines).\n\n0.0.11\n------\n\nImprovements to certificate code:\n\n- The context factory returned by ``getContextFactory`` now uses\n ``SSLv23_METHOD``. This also allows TLSv1.1 and TLSv1.2. Previously,\n it used Twisted's ``OpenSSLCertificateOptions``'s default, which is\n ``TLSv1_METHOD``, which means \"TLSv1.0 only\". This caused an\n incompatibility between clients using this code and ``merlyn``,\n which used ``SSLv23_METHOD``.\n- ``SecureCiphersContextFactory`` now sets ``OP_NO_SSLv2`` as well as\n ``OP_NO_SSLv3``, since those contain known security issues.\n\nFurthermore, extensive tests were added for:\n\n- Verifying the behavior of ``SecureCiphersContextFactory``\n- Verifying the preferred ciphersuite list\n\n0.0.10\n------\n\nMoved dependencies into ``setup.py``. This should make ``clarent``\neasier to install.\n\n0.0.9\n-----\n\nCalling ``makeCredentials`` when the credentials already exists now\nraises an exception; previously, the old credentials were silently\noverwritten. This wasn't an issue due to the way callers used this\nfunction previously, but can be an issue for future implementations.\n\n0.0.8\n-----\n\nAdded an SSL context factory that wraps other context factories, but\nlimits them to secure ciphers.\n\n0.0.7\n-----\n\n- Added ``clarent.path``, gets data paths where you can dump some stuff.\n- ``getContextFactory`` and ``makeCredentials`` are now citizens of\n ``clarent.certificate``.\n\n0.0.6\n-----\n\nBugfix: clarent no longer produces certificates without validity\nperiods (``notBefore`` and ``notAfter``). While silently dumping these\ncerts to disk appeared to succeed (yay, OpenSSL!), the produced file\nwould blow up any tool trying to read it, be it PyOpenSSL or the\n``openssl x509`` command line tool.\n\nThis bug was fixed by adding ``notBefore`` and ``notAfter``. A unit\ntest was added that does nothing but dump and load the produced\ncertificate as well.\n\n0.0.5\n-----\n\n- Removed the authentication API; all authentication is now done using\n TLS certificates.\n- Added tools for making TLS keys and certificates.\n\n0.0.4\n-----\n\nFixes for the tests of the auth API.\n\n0.0.3\n-----\n\nNew TOFU-POP auth API.\n\n0.0.2\n-----\n\nDrastically simplified exercise interface: no more multiple steps,\njust rendering and asynchronous notification when they've been\ncompleted. Completion happens out-of-band: users are asynchronously\nnotified when that happens.\n\n0.0.1\n-----\n\nInitial version; includes the usual tox-based CI stuff.\n\nFeatures:\n\n- Exercise API AMP commands and exceptions, with tests, from merlin\n\nWhence the name?\n================\n\nThe server side to this is called merlyn_, because the step-by-step\noracle-like model reminded me of Merlin in the AM complexity class and\n`Arthur-Merlin protocols`_. (It's not spelled the usual Merlin,\nbecause that primo PyPI real estate was already taken up by some weird\nsetuptools fork.)\n\n Arthur was named afterwards, since it's the other side of the\nArthur-Merlin protocol. I decided to keep the trend; Clarent was King\nArthur's ceremonial sword.\n\n.. _merlyn: https://github.com/crypto101/merlyn\n.. _arthur: https://github.com/crypto101/arthur\n.. _`Arthur-Merlin protocols`: https://en.wikipedia.org/wiki/Merlin-Arthur_protocol", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/crypto101/clarent", "keywords": "crypto twisted", "license": "ISC", "maintainer": null, "maintainer_email": null, "name": "clarent", "package_url": "https://pypi.org/project/clarent/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/clarent/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/crypto101/clarent" }, "release_url": "https://pypi.org/project/clarent/0.1.1/", "requires_dist": null, "requires_python": null, "summary": "Shared API definitions for an online exercise system", "version": "0.1.1" }, "last_serial": 1013996, "releases": { "0.0.1": [], "0.0.10": [ { "comment_text": "", "digests": { "md5": "0b0a4d319463d55abd8ffb27e45fd813", "sha256": "c199be84435c042a954735ee8ecf1c4703e2cd782057e67e472521702039fc3b" }, "downloads": -1, "filename": "clarent-0.0.10.tar.gz", "has_sig": true, "md5_digest": "0b0a4d319463d55abd8ffb27e45fd813", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8046, "upload_time": "2013-12-27T15:08:09", "url": "https://files.pythonhosted.org/packages/e2/41/e0a61bd68576b6bf397965da01e21aed3212c55ad2aa825bcfb4ccfe56ce/clarent-0.0.10.tar.gz" } ], "0.0.11": [ { "comment_text": "", "digests": { "md5": "612f8a3bf1eb5c477f4f979d7a99d948", "sha256": "b6a71187ebbdd58f8fdc3a7bac25e3872f856d9bddd94a2d308e32a1bfa5ef3c" }, "downloads": -1, "filename": "clarent-0.0.11.tar.gz", "has_sig": true, "md5_digest": "612f8a3bf1eb5c477f4f979d7a99d948", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9193, "upload_time": "2013-12-27T19:04:58", "url": "https://files.pythonhosted.org/packages/8b/75/9ce7a7a25e953ec027b8adcfed2d4f33aafd4f1a7701f62df8883642b65e/clarent-0.0.11.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "ca8cb97dbf4633dc119f7ff4d4bba7f6", "sha256": "876f020a4e3768c2c937fc33ec61adbff1406ad153418f6e7696e17ad07fe5cf" }, "downloads": -1, "filename": "clarent-0.0.2.tar.gz", "has_sig": true, "md5_digest": "ca8cb97dbf4633dc119f7ff4d4bba7f6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3216, "upload_time": "2013-12-09T09:31:06", "url": "https://files.pythonhosted.org/packages/e7/9a/55cb1c461a2ab6eff895847c649222f6e114a41643fb906c12b51c696d4f/clarent-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "9a6ab2ad2a804c580fb03637de531782", "sha256": "3ac01f0b72dea36b8f72a2e47028baeb002cfa603ad0853226634e1b7d3390a8" }, "downloads": -1, "filename": "clarent-0.0.3.tar.gz", "has_sig": true, "md5_digest": "9a6ab2ad2a804c580fb03637de531782", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3529, "upload_time": "2013-12-09T11:18:36", "url": "https://files.pythonhosted.org/packages/30/4e/81a89a2a0b6cc72cc1f1155024b76533881a4ed86823b6aa06b02e359ccc/clarent-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "0e70f4f7dd2ae995952d826872267aec", "sha256": "838edc8b07959dda394c54509d7aa7cbd3736298c5d41f656fc20657834b0ca4" }, "downloads": -1, "filename": "clarent-0.0.4.tar.gz", "has_sig": true, "md5_digest": "0e70f4f7dd2ae995952d826872267aec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3566, "upload_time": "2013-12-09T13:48:15", "url": "https://files.pythonhosted.org/packages/f6/70/891c32f449d745afb05521ae54227c89461abdfcf191fe0f1147c71d0d81/clarent-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "8d7ae6ad5dbd8219b55646c5726e1ec0", "sha256": "2ce5b04ef225e56886942e93108a7f93b19d7a9f2ce895329e8c9d3ac4ae80a1" }, "downloads": -1, "filename": "clarent-0.0.5.tar.gz", "has_sig": false, "md5_digest": "8d7ae6ad5dbd8219b55646c5726e1ec0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5069, "upload_time": "2013-12-10T15:24:53", "url": "https://files.pythonhosted.org/packages/25/ca/75a60768eb71a7d0d18a31169314b3621c4fc89ef585cb67886efa6dfeec/clarent-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "c9f79928607c39888bcba50dd902660f", "sha256": "1e2937dcd6ff6e6dfdccd02e292e062a29d70d2a79e0ced4b32c53b95955a671" }, "downloads": -1, "filename": "clarent-0.0.6.tar.gz", "has_sig": false, "md5_digest": "c9f79928607c39888bcba50dd902660f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5768, "upload_time": "2013-12-12T12:54:35", "url": "https://files.pythonhosted.org/packages/82/79/afd6705e402625c406a6607ae5c3ff53eca2c0ab9493d3c69f46ab98afa6/clarent-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "58c9ae66a6d23d75e1297803c6d88b02", "sha256": "7aa22caa9fedf8322b6eae09adc9bc6cc1a33c57c468286016f9e34afb7202c2" }, "downloads": -1, "filename": "clarent-0.0.7.tar.gz", "has_sig": false, "md5_digest": "58c9ae66a6d23d75e1297803c6d88b02", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6879, "upload_time": "2013-12-16T14:14:42", "url": "https://files.pythonhosted.org/packages/86/e6/066e4bba5c84598f2cbb0405d013fe75edba6ff7ffec2415918d9bcaee51/clarent-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "c42c8f05aa3a28090b272e8c86982c5a", "sha256": "e0423338f7443f93f772f33520bcecdc681e3176b1344dee71eedc9d42e2b0df" }, "downloads": -1, "filename": "clarent-0.0.8.tar.gz", "has_sig": true, "md5_digest": "c42c8f05aa3a28090b272e8c86982c5a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7537, "upload_time": "2013-12-19T14:42:04", "url": "https://files.pythonhosted.org/packages/82/3a/9513391c76eaaba5ddd9585bddcb6970d7bf622ccaefe500c807bddd6030/clarent-0.0.8.tar.gz" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "683e672bac3f205d6c59ab05d90e8238", "sha256": "180fbd97568502173322580f0ff5d2953e111c0dd6d419b41cda09641e6d4c62" }, "downloads": -1, "filename": "clarent-0.0.9.tar.gz", "has_sig": true, "md5_digest": "683e672bac3f205d6c59ab05d90e8238", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7834, "upload_time": "2013-12-24T15:36:10", "url": "https://files.pythonhosted.org/packages/b1/e6/e31526ad11095cbe08f2dc3acfb9d89e3883c270bbe8cfa393ba7bae2a50/clarent-0.0.9.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "85efe134041ee2b4acce66cb09cf0d04", "sha256": "a265fdb97f381ebb59608240323f2dacc175cfa9cf056ce3424343750eaf281d" }, "downloads": -1, "filename": "clarent-0.1.0.tar.gz", "has_sig": true, "md5_digest": "85efe134041ee2b4acce66cb09cf0d04", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9758, "upload_time": "2014-01-18T22:42:53", "url": "https://files.pythonhosted.org/packages/fb/ef/c17f48ea8595c6cd4e18784bea5fdfecc7fc5d76b645a11ee225462e648b/clarent-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "d7212b26150fd69df0b2d66dc8a00c29", "sha256": "ead23fab2790623f5fb87f718d95f2c12baa71120117356123879f8c77f8e2ae" }, "downloads": -1, "filename": "clarent-0.1.1.tar.gz", "has_sig": true, "md5_digest": "d7212b26150fd69df0b2d66dc8a00c29", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10088, "upload_time": "2014-02-27T16:58:43", "url": "https://files.pythonhosted.org/packages/ba/7e/e821c511c2406f64035829b08184a1d21d6e2cf2a68ae469c2fc670edc43/clarent-0.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d7212b26150fd69df0b2d66dc8a00c29", "sha256": "ead23fab2790623f5fb87f718d95f2c12baa71120117356123879f8c77f8e2ae" }, "downloads": -1, "filename": "clarent-0.1.1.tar.gz", "has_sig": true, "md5_digest": "d7212b26150fd69df0b2d66dc8a00c29", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10088, "upload_time": "2014-02-27T16:58:43", "url": "https://files.pythonhosted.org/packages/ba/7e/e821c511c2406f64035829b08184a1d21d6e2cf2a68ae469c2fc670edc43/clarent-0.1.1.tar.gz" } ] }