Version: 3.1.0-0woody2 (using KDE KDE 3.1) Installed from: Debian testing/unstable Packages OS: Linux Hi there; I've recently upgrade from 3.0.4 -> 3.1, and this appears to have done some mutilation to my OpenPGP setup. As best I can tell, this is because there's a number of packages missing from Debian itself that stop this stuff working. From http://kmail.kde.org/kmail-pgpmime-howto.html, it looks like some really important stuff is missing (pgpme, cryptplug). The net effect is that I can sign, but not decrypt messages. It looks like KMail now uses a certificate Manager (kgpgcertmanager?), and I think this is where the problem lies. When trying to view a PGP email, I get an error in KMail: "Problem: OpenPGP plug-in was not specified. Use the 'Settings -> Configure KMail -> Security' dialog to specify the plug-in or ask your system administrator to do that for you." Okay, so I hop into the recommended dialogue, and try and work out what to do - assume it's the "Crypto Plug-ins" tab. Under here, there's not a lot to go on, but if I select New, I get a blank entry. If I Configure that entry, nothing is selectable except the "Start Certificate Manager" button at the bottom. Here's where it gets interesting - clicking this gives another error dialog: "The crypto plugin could not be initialized; the error message was . Certificate Manager will terminate now." It would be nice if upgrades didn't break existing functionality :) It looks like
Further to this, I've found the mighty ktown. http://lists.debian.org/debian-kde-0301/msg00485.html tells us all about it, but basically: deb http://ktown.kde.org/~nolden/kde stable main apt-get install -t stable libgcrypt1 libksba0 gpgsm libgpgme6 cryptplug pinentry-qt Life is then good. There's a bit of mucking about with gpg-agent, but after that, it's sorted.
I might submit this as a Wishlist to Debian itself.
We can make this behave like ssh-agent if we like. Add a nice little script into /etc/X11/Xsession.d/, something like /etc/X11/Xsession.d/91xfree86-common_gpg-agent, and it will work nicely for you after that. GPGAGENT=/usr/bin/gpg-agent GPGAGENTARGS=--daemon STARTGPG=yes if [ -n "$STARTGPG" ]; then eval "$($GPGAGENT $GPGAGENTARGS) $REALSTARTUP" fi