KC(1)

NAME
kc - console based username and password management application

SYNOPSIS
kc [-k database file] [-p password file] [-m cipher mode] [-b] [-v] [-h] [-d]

DESCRIPTION
The kc utility is a console based username and password management application using an encrypted XML document as its database.

A database file can contain multiple keychains, and keychains in turn can contain multiple keys (usernames if you like) and values (passwords if you like).

After starting kc the help command shows the available commands, and usage information for them.

The CLI supports tab-completion for commands and keychains.

NOTE: Currently there is no character set conversion taking place in the program. You either input UTF-8 and be ready to display it, or you don't input anything other than US-ASCII. You would still be able to read the database after non UTF-8 (eg. latin2) input, but not in the way you would expect it. You can "repair" such databases, by exporting (see the xport command below), converting the plain text XML file to UTF-8, then importing the database. (see the import command below).

  PARAMETERS

-k file
    Use file as database. The default is ~/.kc/default.

-p file
    Read password from file.

-m mode
    Cipher mode to use. mode can be one of 'cbc' (the default), 'cfb128' or 'ofb'. NOTE: If you use 'cfb128' or 'ofb', there is no specific sign if you enter a wrong password during the opening of a database; in this case the database would seem to be corrupt after decrypting, and kc will not be able to open it.

-b  Batch mode. Disable some features to enable commands from standard input.

-v  Display version.

-h  Display help.

  COMMANDS

new [name]
    Create a new key in the current keychain. If name is specified it will be the key's name, otherwise prompt for that too. It is possible to enter multiline values by writing ‘\n’ in place of a desired new line. One can escape this with ‘\\n’.

list [keychain]
    List the keys in the current keychain or if specified, in the keychain named keychain. Every key gets prefixed by its index number. keychain can be an index number or the keychain's name.

ls [keychain]
    Alias of 'list'.

edit index
    Edit a key in the current keychain. index is the key's index number in the current keychain.

search string
    Search for string in key names in the current keychain. If the search command is prefixed by a '*' (eg.: *search) then search in every keychain in the current database.

/ pattern
    Search for pattern regular expression in key names in the current keychain. If the / command is prefixed by a '*' (eg.: */) then search in every keychain in the current database.

csearch string
    Search for string in keychain names in the current database.

c/ pattern
    Search for pattern regular expression in keychain names in the current database.

c keychain
    Change the current keychain. keychain can be an index number or the keychain's name.

cdel keychain
    Delete a keychain. keychain can be an index number or the keychain's name.

clear [count]
    Emulate a screen clearing. Scrolls 50 lines by default, which can be multiplied by count times if specified.

clist
    List keychains in the current database. Every keychain gets prefixed by its index number.

cnew [name]
    Create a new keychain. If name is not given then prompt for one.

copy index keychain
    Copy a key in the current keychain to another keychain. index is the key's index to copy and keychain is the destination keychain's index number or name.

cp index keychain
    Alias of 'copy'.

move index keychain
    Move a key in the current keychain to another keychain. index is the key's index to move and keychain is the destination keychain's index number or name.

mv index keychain
    Alias of 'move'.

cren keychain
    Rename a keychain. keychain can be an index number or the keychain's name.

del index
    Delete a key from the current keychain. index is the key's index number in the current keychain.

rm index
    Alias of 'del'.

help [command]
    Print application help or describe a command.

xport filename
    Export the current database as an XML file named filename. (see command import) NOTE: the created XML file will be plain text, and any existing files named filename will be overwritten.

import filename
    Import a database from filename. It must be a properly formatted kc database. (see command xport) NOTE: The current database will be overwritten if saved.

quit
    Quit the program. If the database is modified, then ask if it should be saved.

exit
    Alias of 'quit'.

random [length]
    Print a random string with length length. The default length is 8.

version
    Display the program version.

write
    Save the current database.

save
    Alias of 'write'.

AUTHOR
kc was written by Daniel LEVAI <leva@ecentrum.hu>

Source, information, bugs: http://keychain.googlecode.com