Table of Contents

KeeChallenge is a KeePass plugin, which allows you to protect your password database with a second auth key. It implements a HMAC-SHA1 challenge-response where the key is saved on a Yubikey.
KeePass runs quite well under Linux with mono. However also the KeeChallenge plugin works under Mono, but you have to map some .dll to .so libraries, which I will describe here.
Requirements
Of course you need KeePass
sudo apt-get install keepass2
well you don't have to use this package, but I use the paths which the kepass2 package creates.
You need also the Yubico PPA:
sudo add-apt-repository ppa:yubico/stable sudo apt-get update
after that you have to install the required packages:
sudo apt-get install libjson0 libjson-c2 libyubikey0 libykpers-1-1
Alternatively instead of adding the ppa and installing the libyubikey0 libykpers-1-1 packages you can fetch the required libraries libykpers-1.so.1 and libyubikey.so.0 from here, build them and copy them into a library path, where mono will find them like /usr/lib/. Well I don't test this.
EDIT: There are also some mono dependencies for the plugin (thanks to wtip):
sudo apt-get install mono-gmcs libmono-microsoft8.0-cil libmono-system-runtime2.0-cil libmono-i18n2.0-cil libmono-oracle2.0-cil
Install KeeChallenge
Fetch KeeChallenge from SourceForge. Copy the included KeeChallenge.dll to /usr/lib/keepass2/plugins/. You don't need the 32bit or 64bit subdirectories.
Then create a text file in the same directory as KeeChallenge.dll called KeeChallenge.dll.config (e.g. /usr/lib/keepass2/plugins/KeeChallenge.dll.config) with following content:
This will map the .dll to it's corresponding .so files.
After that it should already work.
Environment
- KeePass 2.28
- KeeChallenge 1.2
- Ubuntu 14.04
- libykpers-1-1 1.16.0
- libyubikey0 1.12-1
- Mono 3.2.8