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
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
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
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
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
49 pinentry - http://www.gnupg.org/aegypten
50 Not really required, but recommended. There are various
51 interfaces for password entry: console/curses, X11/GTK2,
52 X11/QT. The X11 versions also support console/curses.
54 Debian has packages for all of these. Your distro may have them too.
57 You can test it out by connecting to the socket with the socat utility
58 (http://www.dest-unreach.org/socat/). Start the daemon then run socat:
60 socat GOPEN:$HOME/.pwmd/socket -
62 There is also a library available that makes it easy for other applications
63 (mail, www, etc) to use the server. Read COMMANDS for protocol commands and
64 syntax. Send me patches or any ideas you may have.
66 Ben Kibbey <bjk@luxsci.net>
67 http://bjk.sourceforge.net/pwmd/