plone.keyring contains a Zope utility that facilitates handling of secrets in an application. Secrets are very important in modern applications, which is why a shared tool to manage them is useful.
plone.keyring contains two basic components:
- a keyring: a data structures which contains one or more secrets.
- a key manager: a utility which contains the available keyrings and provides some convenience methods to manage them
The keyring is the workhorse: it contains a set of secrets for a specific purpose. A ring has room for a fixed number of secrets which is set at creation time. The most recently added secret is considered to be the current secret and the one that should be used. Older secrets in the ring can be used to keep data generated with older secrets valid for a period of time.
The key manager is a container for the available keyrings. It always contains a default system keyring which is used when no other ring is explicitly requested.
You’ll need to register a KeyManager as a persistent utility. On Zope2 with GenericSetup, this can be done by loading the included profile.
- Use zope.interface decorator. [gforcada]
- Minor cleanup: whitespace, git ignores. [gforcada, rnix]
- use more default keyrings and be able to select random key from ring [vangheem]
- Use system random when available. This is part of the fix for https://plone.org/products/plone/security/advisories/20121106/24 [davisagli]
- Add MANIFEST.in. [WouterVH]
2.0 - 2010-07-18
- Update package information. [hannosch]
2.0b1 - 2010-06-13
- Added a meta.zcml to load the GenericSetup ZCML if installed. [hannosch]
- Update license to BSD following board decision. Cfr. http://lists.plone.org/pipermail/membership/2009-August/001038.html [elro]
2.0a1 - 2009-11-13
- Updated to use zope.container instead of zope.app.container. [hannosch]
- Specify package dependencies. [hannosch]
1.2 - 2008-05-08
- Fix registration of the GenericSetup profile. [witsch]
1.1 - 2008-05-02
- Add an optional GenericSetup profile to register the KeyManager as utility. Required for plone.keyring on Plone 3.0. [mj]
1.0 - 2008-04-21
- No changes. [wichert]
1.0b1 - 2008-03-07
- Tweak the tests to better test the API. [witsch]
1.0a1 - 2008-01-22
- Initial release. [wichert]