Running KeePass Password Management on GNU/Linux with Wine

Managing all of the passwords one needs to know for both personal and job-related security is quite a challenge. KeePass is a password management program for Windows. It is open-source and released under the GPL, which means it is highly likely that this project will stay around in some form. It also appears to use strong encryption; however, the project is also relatively new. The one drawback to KeePass is that the primary project (the one on sourceforge) doesn’t run under GNU/Linux. It turns out, though, that the developers have played quite nicely, and it runs well under Wine, so it is easy to run this on all of your platforms. We have installed Wine in the past, and it was quite an adventure; however, Wine these days is easy to install. We are running CentOS 4 on this box, so we installed the rpm:

[root@srv-1 local]# rpm -i wine-20050524-1centos4winehq.i686.rpm
[root@srv-1 local]#

Let’s fire up an initial session:

[usr-1@srv-1 ~]$ wine
wine: creating configuration directory '/home/usr-1/.wine'...
wine: '/home/usr-1/.wine' created successfully.
Wine 20050524
Usage: wine PROGRAM [ARGUMENTS...]   Run the specified program
wine --help                   Display this help and exit
wine --version                Output version information and exit
[usr-1@srv-1 ~]$

Let’s grab the latest version of KeePass and unzip it:

[usr-1@srv-1 Desktop]$ ls
[usr-1@srv-1 Desktop]$ unzip K*.zip
inflating: KeePass.chm
inflating: KeePass.exe
inflating: License.txt
[usr-1@srv-1 Desktop]$ mv Kee* ../
[usr-1@srv-1 Desktop]$

We suspect that Wine has trouble with the mixed case name. It had trouble at first, we changed the name, and now it runs fine. YMMV:

[usr-1@srv-1 ~]$ mv KeePass.exe kp.exe
[usr-1@srv-1 ~]$ wine kp.exe
fixme:ole:CoRegisterMessageFilter stub
fixme:richedit:RichEditANSIWndProc WM_SETFONT: stub
fixme:richedit:RichEditANSIWndProc EM_EXLIMITTEXT: stub
fixme:keyboard:RegisterHotKey (0x2005e,33,0x00000003,65): stub
fixme:keyboard:RegisterHotKey (0x2005e,34,0x00000003,75): stub
fixme:commdlg:GetFileName95 Flags 0x00800000 not yet implemented
fixme:richedit:RichEditANSIWndProc WM_SETFONT: stub
fixme:keyboard:UnregisterHotKey (0x2005e,33): stub
fixme:keyboard:UnregisterHotKey (0x2005e,34): stub
fixme:ole:CoRegisterMessageFilter stub
[usr-1@srv-1 ~]$

Here is a screenshot of KeePass running:


There is a port of KeePass for OS X and GNU/Linux here. We did compile this version on OS X. We used fink to get the QT stuff, and were able to compile per the instructions that came with the source (qmake make install). Although it ran, we did find some incompatibilities with the Windows version, and so prefer to use Wine instead.