Added pinentry's password quality meter support. Requires cracklib2
[pwmd.git] / README
blob2fb6223880d7c00d2175d5789a5d56bbb1c72fe6
1 Password Manager Daemon is a server that provides a way for applications to
2 securely store data in a centralized location. The data is stored in an
3 AES256 encrypted XML file and clients connect to manipulate the data. Some
4 of the features include:
6     * Multi-threaded. More than one client may access the data at the same
7       time.
8     * A key cache so clients won't need to enter a key each time a file is
9       opened or saved. The cache is also protected with a mutex to prevent
10       corruption.
11     * Key retrieval via pinentry(1).
12     * Configuration file which supports file specific settings including
13       encryption iterations, cache expiration and encryption key or key file.
14     * Compressed data file support.
15     * Logging to file and/or syslog.
16     * Secure memory usage. PWMD will zero out memory before freeing it and
17       also has the option to lock the entire process in RAM to avoid swapping
18       the data to virtual memory.
20 I needed this because I use a few applications that require the same
21 credentials but hate having to update all those configuration files to reflect
22 any changes in the account. This way, there is a central location for the
23 needed data.
25 Requirements:
27     libpth2      - http://www.gnu.org/software/pth/pth.html
28                    Portable multi-threading library.
30     libassuan    - http://www.gnupg.org
31                    Protocol. Version 1.0.4 or later is required.
33     libgpg-error - http://www.gnupg.org
34                    Error handling.
36     glib2        - http://www.gtk.org
37                    Portability library among other things.
39     libxml2      - http://xmlsoft.org
40                    For XML parsing and data manipulation.
42     libgcrypt    - http://www.gnupg.org
43                    Encryption, decryption and hashing.
45     libz         - http://www.zlib.net
46                    For compressing the data file. Version 1.2.2.1 or later is
47                    required.
49     pinentry     - http://www.gnupg.org/aegypten
50                    There are various interfaces for password entry:
51                    console/curses, X11/GTK2, X11/QT. The X11 versions also
52                    support console/curses. Version 0.7.5 or later is required
53                    unless --disable-pinentry is passed to ./configure.
55     cracklib2    - http://sourceforge.net/projects/cracklib
56                    If --enable-quality is passed to ./configure then a
57                    password quality meter is used with pinentry. Optional.
59 Debian has packages for all of these. Your distro may have them too.
62 You can test it out by connecting to the socket with the socat utility
63 (http://www.dest-unreach.org/socat/). Start the daemon then run socat:
65     socat GOPEN:$HOME/.pwmd/socket -
67 There is also a library available that makes it easy for other applications
68 (mail, www, etc) to use the server. Read COMMANDS for protocol commands and
69 syntax. Send me patches or any ideas you may have.
71 Ben Kibbey <bjk@luxsci.net>
72 http://bjk.sourceforge.net/pwmd/