{ "info": { "author": "Martin R. Albrecht", "author_email": "martinralbrech+batzenca@googlemail.com", "bugtrack_url": null, "classifiers": [], "description": "BatzenCA is a set of Python of classes and functions that ought to make managing\nOpenPGP keys easier for certification authorities.\n\nUser-Case\n---------\n\nA group of users want to use a mailing list but with OpenPGP encrypted messages.\nThey don't want the server to be able to decrypt their messages either. An easy\nad-hoc way of accomplishing this is by every user encrypting to every other\nuser. This can easily accomplished using e.g. Thunderbird/Enigmail's\n\"Per-Recipient Rules\".\n\nAs the group grows, verifying each other's OpenPGP keys becomes tedious. Our\ngroup of users choose not to use the `Web of Trust\n`_, say because they have a clear\ndefinition who belongs on their list and who doesn't. Instead, they nominate a\nuser or a group of users as a `Certification Authority\n`_ (CA), so they are\nactually doing the `X.509 `_ thing with\nOpenPGP: all users verify the CA's key and grant it full `owner trust\n`_. The CA then checks new users' identities,\nverifies their keys, signs and distributes them. When users leave the group the\nCA revokes its signature. To update the users of our mailing list the CA sends\n(ir)regular \"releases\" which contain all keys for those users active on our\nmailing list. The remaining users import these keys and to update their\nper-recipient rules to reflect these changes. In a nutshell: a poor person's CA\nusing OpenPGP.\n\nThis library makes the job of the CA easier by providing means to prepare such\nreleases.\n\nLibrary Overview\n----------------\n\nThe purpose of this library is to distribute OpenPGP keys in releases\n(:class:`batzenca.database.releases.Release`). These releases contain active and\ninactive keys (:class:`batzenca.database.keys.Key`) one for each user\n(:class:`batzenca.database.peers.Peer`). Active are those keys which users ought\nto use, while inactive keys are those where the signature was revoked\netc. Releases are meant for specific mailinglists\n(:class:`batzenca.database.mailinglists.MailingList`). Each mailinglist\nfurthermore has a policy (:class:`batzenca.database.policies.Policy`) which\nspecifies what kind of PGP keys are acceptable - for example, it might specify\nthat keys must expire every 2 years.\n\nPrerequisites\n-------------\n\n* BatzenCA relies on `PyMe `_ >= 0.9.0 for\n talking to GnuPG.\n\n Note that an abandoned branch is available which attempts to switch to the\n newer `PyGPGME `_ is available `on Bitbucket\n `_. It was abandoned\n because PyGPGME does not provide an interface to all GPGME functions needed by\n BatzenCA.\n\n* BatzenCA uses `SQLAlchemy `_ to talk to a SQLite\n database which stores all metadata about keys such as users, releases, mailing\n lists, policies etc.\n\n* BatzenCA uses `GitPython\n `_ to take snapshots of\n its database and the internal GnuPG directory.\n\nInstallation\n------------\n\nThe easiest way to install all required Python packages is::\n\n pip install -r requirements.txt\n\nAlternatives\n------------\n\nAlternatives to realising OpenPGP encrypted mailinglists include\n\n* **Schleuder** \"Schleuder is a gpg-enabled mailinglist with\n remailer-capabilities. It is designed to serve as a tool for group\n communication: subscribers can communicate encrypted (and pseudonymously)\n among themselves, receive emails from non-subscribers and send emails to\n non-subscribers via the list. Schleuder takes care of all de- and encryption,\n stripping of headers, formatting conversions, etc. Further schleuder can send\n out its own public key upon request and receive administrative commands by\n email.\" -- http://schleuder2.nadir.org/ Hence, users must trust that the\n server has not been compromised.\n\n* **SELS** \"Secure Email List Services (SELS) is an open source software for\n creating and developing secure email list services among user\n communities. SELS provides signature and encryption capabilities while\n ensuring that the List Server does not have access to email plain text. SELS\n has been developed with available open-source components and is compatible\n with many commonly used email clients.\" -- http://sels.ncsa.illinois.edu/\n However, the project is discontinued.\n\nFull Documentation\n------------------\n\nThe full documentation of BatzenCA is available at\nhttp://batzenca.readthedocs.org.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://bitbucket.org/malb/batzenca", "keywords": null, "license": "Simplified BSD License", "maintainer": null, "maintainer_email": null, "name": "BatzenCA", "package_url": "https://pypi.org/project/BatzenCA/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/BatzenCA/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://bitbucket.org/malb/batzenca" }, "release_url": "https://pypi.org/project/BatzenCA/0.1/", "requires_dist": null, "requires_python": null, "summary": "UNKNOWN", "version": "0.1" }, "last_serial": 1094048, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "9f2d09ad50e47ad83b810e88abbce0be", "sha256": "a4e0acd7c5f2e593ff44d79d2b91281d8a25de42e15e90bf74f9822ed533fc36" }, "downloads": -1, "filename": "BatzenCA-0.1.tar.gz", "has_sig": false, "md5_digest": "9f2d09ad50e47ad83b810e88abbce0be", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37789, "upload_time": "2014-05-15T22:48:35", "url": "https://files.pythonhosted.org/packages/cb/3f/688c4415ec06488e88145217ec8baa6b950ad02856f1750e33bbcee9ed5a/BatzenCA-0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9f2d09ad50e47ad83b810e88abbce0be", "sha256": "a4e0acd7c5f2e593ff44d79d2b91281d8a25de42e15e90bf74f9822ed533fc36" }, "downloads": -1, "filename": "BatzenCA-0.1.tar.gz", "has_sig": false, "md5_digest": "9f2d09ad50e47ad83b810e88abbce0be", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37789, "upload_time": "2014-05-15T22:48:35", "url": "https://files.pythonhosted.org/packages/cb/3f/688c4415ec06488e88145217ec8baa6b950ad02856f1750e33bbcee9ed5a/BatzenCA-0.1.tar.gz" } ] }