Keybox

DESCRIPTION:

Keybox is a set of command line applications and ruby libraries for secure password storage and password generation.

FEATURES/PROBLEMS:

Provides the following command line applications

  • keybox - a pure ruby command line password storage application using

    the embedded OpenSSL included with ruby for encryption.
    
  • kpg - a pure ruby implementation of the Automated Password Generator

    (apg) program. It attempts to implemented all the functionality
    of 'apg', but it is not completely compatible.
    

The full functionality of the command line applications is also available via included ruby libraries and could be embedded in other applications.

SYNOPSYS:

  • keybox command line application

    Usage: keybox [options]
    
    General Options:
        -f, --file DATABASE_FILE         The Database File to use
        -c, --config CONFIG_FILE         The Configuration file to use
            --color SCHEME               The color scheme to use
                                         none,dark_bg,light_bg,<other>
        -D, --debug                      Ouput debug information to STDERR
            --[no-]use-hash-for-url      Use the password hash algorithm 
                                           for URL accounts
    
    Commands, one and only one of these is required:
        -h, --help
        -a, --add ACCOUNT                Create a new account in keybox
        -d, --delete ACCOUNT             Delete the account from keybox
        -e, --edit ACCOUNT               Edit the account in keybox
        -l, --list [REGEX]               List the matching accounts
                                           (no argument will list all)
        -m, --master-password            Change the master password
        -s, --show [REGEX]               Show the given account(s)
        -v, --version                    Show version information
    
    Import / Export from other data formats:
        -i, --import-from-csv FILE       Import from a CSV file
        -x, --export-to-csv FILE         Export contents to a CSV file
    
  • kpg command line application

    Usage: kpg [options]
    
    Options:
        -a, --algorithm ALGORITHM        Select the algorithm for password 
                                           generation (pronounceable, random)
        -h, --help
        -m, --min-length LENGTH          Minimum LENGTH of the new password
                                           in letters
        -x, --max-length LENGTH          Maximum LENGTH of the new password
                                           in letters
        -n, --number NUMBER              Generate NUMBER of passwords (default 6)
        -u, --use symbol,set,list        Use only one ore more of the following
                                           symbol sets:
                                           [all, lower, numerical, upper, special]
        -r, --require symbol,set,list    Require passwords to have letters from
                                           one or more of the following
                                           symbol sets:
                                           [all, lower, numerical, upper, special]
        -v, --version                    Show version information
    

REQUIREMENTS:

For running:

  • For a gem install keybox depends upon HighLine >= 1.2.6.

  • For a source install keybox ships with HighLine 1.2.6

For development:

  • rake >= 0.7.1

  • rcov >= 0.7.0.1

  • RedCloth >= 3.0.4

  • rspec >= 0.7.3

  • rubyforge >= 0.4.0

  • webgen >= 0.4.1

  • highline >= 1.2.6

To run the RSpec test, you have to remove the termios library if it is installed. stdin, stdout, and stderr are redirected and this doesn’t play well with termios in highline.

INSTALL:

  • gem install keybox

CREDITS:

keybox is inspired by:

kpg is based on the functionality of ‘apg’ or Automated Password Generator. Automated Password Generator was was originally developed by Adel I. Mirzazhanov and can be found at www.adel.nursat.kz/apg/

LICENSE:

(The MIT License)

Copyright © 2006, 2007 Jeremy Hinegardner

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the ‘Software’), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED ‘AS IS’, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.