#14 Merged
kang/Python Keyring Lib Python Keyring Lib

Added Keyczar support, PyFilesystem and Google Docs backends

  1. Robert Leftwich avatarRobert Leftwich

This (re)fork adds support for using Keyczar http://www.keyczar.org/ to encrypt keyrings. Keyczar is "an open source cryptographic toolkit designed to make it easier and safer for developers to use cryptography in their applications". It also allows the keyring to be stored on Google Docs and on any filesystem supported by pyfilesystem http://code.google.com/p/pyfilesystem/ - which when combined with Keyczar's ability to encrypt the keyring and the keyset that encrypts that keyring allows secure distribution of keys e.g. keyring on Google Docs encrypted by a keyset on Amazon S3 which in turn is encrypted by a keyset on GitHub.

Comments (4)

  1. Jason R. Coombs

    Robert, This all looks very good. Thanks for putting this together. It looks like a lot of work went into this. It's very thorough. Thanks very much for that.

    One thing I would recommend for the future (but is fine this time) is to contribute new independent features as separate pull requests.

    In a related note, I've been wanting to split out the backends so they're not all piled together in one module. What do you think about possibly creating two or three new modules to support the new backends? If that's something you're keen to do, I'd appreciate the help.

    Otherwise, the only other thing I noticed was that the default storage locations referenced files in `/`. In 0.8, the other keyrings were adapted to store files in platform-specific locations, honoring the FreeDesktop.org conventions. Would you consider honoring those conventions in the new backends?

    Much obliged, Jason

    1. Robert Leftwich author

      Apologies for the large set of features in one pull request. It started some time back in a different fork -https://bitbucket.org/rl_0x0/python-keyring-lib if you want the gory details - but time got away from me until now. I figured one big pull request was better then none :-/

      Agreed on the splitting out of backends. I'll help as much as I'm able.

      I will update the default storage location to match the later changes (a hangover from the original fork).


Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.