Signeringsfest: GPG och CA Fire and Forget

Jag var för första gången med vid en stor “signeringsfest” på Fosdem2010 – över 250 nycklar var inskickade men i slutändan var det inte fler än 80 som dök upp i kylan och duggregnet. (Jag själv kom 20 minuter sent.)

Hur som haver – efteråt gäller det att signera och få iväg de signerade nycklarna. Till detta finns caff, CA Fire and Forget, som just gör det man vill:

  • hämtar hem nyckeln
  • signerar den
  • skickar den krypterad till mottagarens adress (bara mottagaren med rätt privat nyckel kan läsa signaturen).

caff -m yes -u 9B1E4234 `cat keys-to-sign.txt`

och detta kommer i paketet signing-party.

Det finns dock inget som plockar ut fingerprintdelen ur den ASCII-fil som distribueras, så jag fick hacka ihop detta själv med lite python:

#!/usr/bin/python

indicies = []
keysByIndex = {}
lastIndex = False

# get the indexes of the keys "verified", as they appear on the key paper (000, 001, ...)
for line in open("id-verified.txt"):
  if len(line) == 4:
    indicies.append(line[0:3])

# build up index > key part
for line in open("ksp-fosdem2010.txt"):
  if "Fingerprint OK" in line:
    lastIndex = line[0:3]
  else:
    if lastIndex:
      key = line[12:20]
      keysByIndex[lastIndex] = key
      lastIndex = False

# write keys out to file
print "You've mareked %s out of %s - verify this before running caff" % (len(indicies), len(keysByIndex))
out = open("keys-to-sign.txt", "w")
for index in indicies:
  key = keysByIndex[index]
  out.write(key)
  out.write(" ")

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.