pykeynote
My latest coding project is pykeynote; a Python extension module for KeyNote. It provides a high-level, object-oriented interface to the KeyNote trust management API. From the KeyNote web page:
Trust management is a unified approach to specifying and interpreting security policies, credentials, and relationships; it allows direct authorization of security-critical actions. KeyNote credentials describe a specific delegation of trust and subsume the role of public key certificates; unlike traditional certificates, which bind keys to names, credentials can bind keys directly to the authorization to perform specific tasks.
For more information on KeyNote see RFC 2704, keynote(1), keynote(3), keynote(4) and keynote(5). Also, a nice introductory article can be found here.
Although I have developed pykeynote on Linux, and minimally tested it on OpenBSD, it will probably work on all Unix-like systems that satisfy the following requirements:
- Python version 2.3 or higher.
- Pyrex version 0.9.4 or higher (optional).
- The KeyNote trust management system (tested with version 2.3).
- The OpenSSL cryptographic toolkit (tested with version 0.9.8d).
For the details you can browse the repository; I have included a comprehensive testsuite and a sample application.