Quantcast
Channel: sys4 AG
Viewing all articles
Browse latest Browse all 268

OPENPGPKEY mit Unix Bordmitteln

$
0
0

Im Artikel "PGP-Schlüssel einfach und sicher verteilen" habe ich beschrieben wie OPENPGPKEY DNS-Records mit dem Tool hash-slinger erstellt werden können. Bei einigen Unix/Linux Systemen ist "hash-slinger" aber nicht vorhanden.

PGP Schlüssel abfragen

OPENPGPKEY Records können auch per Unix Boardmitteln erstellt und abgefragt werden. Das Script "openpgp-fetch" benutzt das Programm "dig" aus dem BIND 9 Paket ("dns-utils" oder "bind9-utils", funktioniert auch mit älteren Versionen des "dig" Programms):

#!/bin/bash# fetches an OPENPGPKEY and pipes the key into gpg# based on a Twitter msg by Paul Wouters (https://twitter.com/letoams/status/560834359981539329)maildomain=$(echo$1 | cut -d "@" -f 2)localmail=$(echo$1 | cut -d "@" -f 1)openpgpkeydomain=$(echo -n $localmail | openssl dgst -sha224 | cut -d "=" -f 2)._openpgpkey.$maildomain
dig +short +vc type61 $openpgpkeydomain | sed "s/ [^ ]*//;s/\W//g" | xxd -r -p | gpg

Als Parameter wird die E-Mail Adresse des PGP-Schlüsselbesitzers angegeben:

# openpgp-fetch cs@sys4.de

OPENPGPKEY Record erstellen

Das zweite Script erstellt einen OPENPGPKEY Record für eine E-Mail Adresse und sendet den Record als dynamischen DNS-Update an den Master-DNS-Server. Bei korrektem SOA-Record in der DNS-Zone für die OPENPGPKEYs wird der Master-Server vom "nsupdate" Programm automatisch ermittelt. Dieses Script funktioniert auch mit älteren Versionen von "nsupdate", solange der PGP-Schluessel in der Hex-Kodierung kleiner als 4 Kilobyte ist. Bei grösseren Schlüssel muss das "nsupdate" aus BIND 9.10.x benutzt werden.

#!/bin/bashmaildomain=$(echo$1 | cut -d "@" -f 2)localmail=$(echo$1 | cut -d "@" -f 1)openpgpkeydomain=$(echo -n $localmail | openssl dgst -sha224 | cut -d "=" -f 2)._openpgpkey.$maildomainkeysize=$(gpg --export --export-options export-minimal $1 | wc -c)keydata=$(gpg --export --export-options export-minimal $1 | hexdump -e '"\t" /1 "%.2x"' -e '/65536 "\n"')# send the DNS update
nsupdate -k $2<< EOFupdate delete $openpgpkeydomain TYPE61update add $openpgpkeydomain 3600 IN TYPE61 \# $keysize $keydatasendquitEOF

Als erster Parameter wird die E-Mail Adresse des PGP-Schlüsselbesitzers angegeben, der zweite Parameter ist ein TSIG-Schlüssel, welcher das dynamische Update der DNS-Zone erlaubt:

# openpgp-create cs@sys4.de cs-tsig.key

Dank an ...

Dank an meine Kollegen (speziell Michael, Florian, Robert, Patrick, Wolfgang) für Feedback und Ideen zu den Scripten.


Viewing all articles
Browse latest Browse all 268

Trending Articles


Vimeo 10.7.1 by Vimeo.com, Inc.


UPDATE SC IDOL: TWO BECOME ONE


KASAMBAHAY BILL IN THE HOUSE


Girasoles para colorear


Presence Quotes – Positive Quotes


EASY COME, EASY GO


Love with Heart Breaking Quotes


Re:Mutton Pies (lleechef)


Ka longiing longsem kaba skhem bad kaba khlain ka pynlong kein ia ka...


Vimeo 10.7.0 by Vimeo.com, Inc.


FORECLOSURE OF REAL ESTATE MORTGAGE


FORTUITOUS EVENT


Pokemon para colorear


Sapos para colorear


Smile Quotes


Letting Go Quotes


Love Song lyrics that marks your Heart


RE: Mutton Pies (frankie241)


Hato lada ym dei namar ka jingpyrshah jong U JJM Nichols Roy (Bah Joy) ngin...


Long Distance Relationship Tagalog Love Quotes