KMail/gpg

From KDE Wiki Sandbox

You can use kmail and gpg to send encrypted or digitally signed mail. To do this, there are the buttons "sign" and "encrypt" in the kmail compose window. It appears if you click on File -> New -> New message.

Tip
The PGP_MIME page will talk you through setting up and using GnuPG


Overview: GPG

A web of trust comprises a group of persons who trust each other. To show their trust, they have signed each other's keys. gpg allows you to do this.

The web of trust is extended in key signing parties that go like this:

  • you (me@home.org) meet John Foo (foo@bar.org) who is already a member of the web of trust
  • you install gpg
  • you have a private/public key pair or generate one with
    gpg --gen-key

Your private key is stored in "secring.gpg", your public one is stored in "pubring.gpg". You keep your private key secure, and are free to distribute your public key.

  • you find out your key's fingerprint (name)
gpg --list-keys
 /home/me/.gnupg/pubring.gpg
 ----------------------------------
 pub   1024D/45E377BB 2008-02-03
 [...]
  • you upload your public key to your key server
    gpg --send-key
  • John downloads your key from the key server
    gpg --search-key me@home
  • John checks your passport and signs your key
    gpg --sign-key 45E377BB
  • John uploads your key again
    gpg --send-key 45E377BB
  • You are now part of the web of trust and your public key is on the key server.

How to...

Import a saved keyring

If you have a keyring saved to your disk, reload ("import") it like this:

cat secring.skr | gpg --import
Note
yours may be called 'secring.pub'

Then call kgpg and set your trust on your private key to "ultimate."

TroubleShooting

Whatever problems arise, first make sure your gpg is properly set up:

  • List your keys
    gpg --list-keys
    • Has to deliver something like a sensible list of keys.
  • Check the output of
    gpg --update-trustdb
    • In case of a problem look at the below.

No ultimately trusted keys found

If

gpg --update-trustdb

delivers

gpg: no ultimately trusted keys found

Call kgpg and set the trust of your private key to "ultimate'"

"Gpg does not seem to be running..."

You get an error message like this whenever you start up? You need scripts to make it start and stop cleanly. You can get scripts here:

Copy them into your ~/.kde/env and ~/.kde/shutdown folders, check permissions, and make sure they are executable.

Still not working?

Check which pinentry packages you have installed. You may find you are missing pinentry-qt4.

Other Key Considerations

From time to time you need to do some maintenance work on your keys. KGpg was written to make this easier. There you will be able to extend the life of your keys, refresh them if they have already expired, change your passphrase, or revoke a compromised key.