User:Midnightcomm/key signing party

Jump to: navigation, search

A key signing party is an event where people present their PGP-compatible keys to others in person. An individual's key is than digitally signed by the other attendees—only if they are confident that the key actually belongs to the person who claims ownership. This verification is usually done by comparing the individual's public key fingerprint, and photo ID (such as a drivers license or passport).

Many of these operations may be performed with a user interface such as Seahorse or KGPG.

What to Bring

  • Photo ID such as a drivers license and/or passport.
  • Printed copy of your key ID, and key fingerprint.
  • Pencil or Pen
  • Clipboard (optional).

Please do not bring a computer to the party unless you need to. Why?

Before the Party

Install the GNU Privacy Guard

GPG is a free replacement for PGP, and is included with nearly all Linux distributions. To verify that you have GnuPG installed, open a terminal window and type:

which gpg

If you get which: no gpg in ... than you need to install it.

Generate Key

If you don't already have a GPG key, one must be generated.

gpg --gen-key

For the first three questions just press Enter.

You will be asked for:

  • your real name
  • email address
  • a comment optional

After confirming everything, GnuPG will ask for a password. Now, GnuPG will generate a new key for you. Move your mouse around as GnuPG needs random data to work with. It's usually a good idea to produce a revocation certificate after making your new key.

Print key Fingerprint

Display key fingerprint
gpg --fingerprint [email protected]

Replace [email protected] with the email address you gave GnuPG earlier. If it looks okay (not several pages long), print the output and bring it with you on July 11, 2007.

Print key fingerprint onto paper
gpg --fingerprint [email protected] | lpr -o landscape

Example Output
pub   1024D/7A63CF54 2007-06-28
      Key fingerprint = 3553 89D7 8959 5663 41C9  4273 EB4D 7D03 7A63 CF54
uid                  Test User <[email protected]>
sub   2048g/0CCBEF4B 2007-06-28

Email public key to coordinator

I will be announcing the key signing party on the mailing list. All public keys need to be sent in by July 9, 2007, 23:59 Chicago time.

Email me your public key (public.key) as an attachment. Type the following into a terminal window, replacing [email protected] with your email address.

gpg --armor --output public.key --export [email protected]

During the Party

Each person will receive a paper sheet listing the key fingerprint, name, and email address of the participants.

When your turn comes:

  • State your name, and key ID (an eight digit hexdecimal number).
  • Read your key fingerprint that you printed at home.

Everyone else will indicate on their sheet that the fingerprints match. You will then walk past everyone else showing photo identification (such as a drivers license or pass port). If the other members are individually convinced that you are the correct person, they will indicate on their paper sheet that you have passed their ID check.

Return to the line and continue participating by verifying others on your sheet.

After the Party

Precise instructions with everyones key ID will be sent on the mailing list.

Download Keys

Download peoples keys from the key server

gpg --recv-key 7A63CF54 ...

Sign Keys

Verify that the key fingerprint matches the one on your sheet. Only sign if the key fingerprints match and you are convinced the key belongs to who you think it does.

Sign the key
gpg --sign-key 7A63CF54

Repeat the last command with each user's key ID.

Example output
$ gpg --sign-key FC11E734

pub  1024D/FC11E734  created: 2007-06-18  expires: never       usage: SC  
                     trust: unknown       validity: unknown
sub  2048g/DE2D1695  created: 2007-06-18  expires: never       usage: E   
[ unknown] (1). Michael J. Troutman <[email protected]>

pub  1024D/FC11E734  created: 2007-06-18  expires: never       usage: SC  
                     trust: unknown       validity: unknown
 Primary key fingerprint: 21FE 6AD5 4376 2945 4C07  40AC 64A7 614B FC11 E734

     Michael J. Troutman <[email protected]>

Are you sure that you want to sign this key with your
key "Test User <[email protected]>" (7A63CF54)

Really sign? (y/N) y

Send to key server

Send the newly signed keys to the public key server:

gpg --send-keys 7A63CF54 ...


After about a week, refresh your GnuPG key-chain to see everyone else's signatures.

gpg --refresh-keys

See also

External links