Package: clarent
=========clarent=========.. image:: https://travis-ci.org/crypto101/clarent.png:target: https://travis-ci.org/crypto101/clarent.. image:: https://coveralls.io/repos/crypto101/clarent/badge.png?branch=master:target: https://coveralls.io/r/crypto101/clarent?branch=master.. image:: https://dl.dropbox.com/u/38476311/Logos/clarent.pngclarent is the home of the shared parts between merlyn_ and arthur_.It is built as part of Crypto 101, the introductory book oncryptography.Changelog=========0.1.1-----``SecureCiphersContextFactory`` now sets other sane defaults such as``SSL.OP_NO_COMPRESSION``, ``SSL.OP_SINGLE_DH_USE``,``SSL.OP_SINGLE_ECDH_USE``.0.1.0-----Several minor cleanups. We now explicitly test that there is asupported ciphersuite for the OpenSSL that comes shipped with OS XMavericks, since that's almost certainly the crappiest OpenSSL outthere in the wild that we care about (developer desktop machines).0.0.11------Improvements to certificate code:- The context factory returned by ``getContextFactory`` now uses``SSLv23_METHOD``. This also allows TLSv1.1 and TLSv1.2. Previously,it used Twisted's ``OpenSSLCertificateOptions``'s default, which is``TLSv1_METHOD``, which means "TLSv1.0 only". This caused anincompatibility between clients using this code and ``merlyn``,which used ``SSLv23_METHOD``.- ``SecureCiphersContextFactory`` now sets ``OP_NO_SSLv2`` as well as``OP_NO_SSLv3``, since those contain known security issues.Furthermore, extensive tests were added for:- Verifying the behavior of ``SecureCiphersContextFactory``- Verifying the preferred ciphersuite list0.0.10------Moved dependencies into ``setup.py``. This should make ``clarent``easier to install.0.0.9-----Calling ``makeCredentials`` when the credentials already exists nowraises an exception; previously, the old credentials were silentlyoverwritten. This wasn't an issue due to the way callers used thisfunction previously, but can be an issue for future implementations.0.0.8-----Added an SSL context factory that wraps other context factories, butlimits them to secure ciphers.0.0.7------ Added ``clarent.path``, gets data paths where you can dump some stuff.- ``getContextFactory`` and ``makeCredentials`` are now citizens of``clarent.certificate``.0.0.6-----Bugfix: clarent no longer produces certificates without validityperiods (``notBefore`` and ``notAfter``). While silently dumping thesecerts to disk appeared to succeed (yay, OpenSSL!), the produced filewould blow up any tool trying to read it, be it PyOpenSSL or the``openssl x509`` command line tool.This bug was fixed by adding ``notBefore`` and ``notAfter``. A unittest was added that does nothing but dump and load the producedcertificate as well.0.0.5------ Removed the authentication API; all authentication is now done usingTLS certificates.- Added tools for making TLS keys and certificates.0.0.4-----Fixes for the tests of the auth API.0.0.3-----New TOFU-POP auth API.0.0.2-----Drastically simplified exercise interface: no more multiple steps,just rendering and asynchronous notification when they've beencompleted. Completion happens out-of-band: users are asynchronouslynotified when that happens.0.0.1-----Initial version; includes the usual tox-based CI stuff.Features:- Exercise API AMP commands and exceptions, with tests, from merlinWhence the name?================The server side to this is called merlyn_, because the step-by-steporacle-like model reminded me of Merlin in the AM complexity class and`Arthur-Merlin protocols`_. (It's not spelled the usual Merlin,because that primo PyPI real estate was already taken up by some weirdsetuptools fork.)Arthur was named afterwards, since it's the other side of theArthur-Merlin protocol. I decided to keep the trend; Clarent was KingArthur's ceremonial sword... _merlyn: https://github.com/crypto101/merlyn.. _arthur: https://github.com/crypto101/arthur.. _`Arthur-Merlin protocols`: https://en.wikipedia.org/wiki/Merlin-Arthur_protocol