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(" ")