WKD einrichten: Unterschied zwischen den Versionen
Tim00 (Diskussion | Beiträge) |
Tim00 (Diskussion | Beiträge) |
||
Zeile 24: | Zeile 24: | ||
exit | exit | ||
fi | fi | ||
publickeyfile=$1 | publickeyfile=$(realpath $1) | ||
if [ ! -f $publickeyfile ] | if [ ! -f $publickeyfile ] |
Version vom 19. November 2021, 16:55 Uhr
Einleitung
Ein Web Key Verzeichnis (Web Key Directory, WKD) ermöglicht es auf eine einfache Weise, den aktuell gültigen öffentlichen Schlüssel (Public Key) für eine bestimmte E-Mail Adresse über HTTPS bereitzustellen und abzurufen.
Es gibt die Möglichkeit, das WKD im Advanced- oder Direct-Methode einzurichten. Im Direct-Mode wird der Pfad .well-known direkt auf der Domain erwartet, im Advanced-Mode wird mit einer Subdomain openpgpkey gearbeitet. Da die Trennung von der Hauptanwendung der Domain im Advanced-Mode einfacher ist, und weil die Clients auch erst über den Advanced-Mode versuchen, die Schlüssel herunterzuladen, beschränken wir uns in dieser Anleitung auf den Advanced Mode.
Voraussetzungen
Es wird vorausgesetzt, dass bereits ein Schlüsselpaar (private/public) erzeugt wurde (z.B. mit gpg --full-generate-key
, oder mit Thunderbird, siehe unten in den Links).
Es muss eine Domain openpgpkey.<MeineDomain>.de im HSAdmin angelegt werden.
Der öffentliche Schlüssel muss in einer Textdatei im Domainbenutzer gespeichert sein. Diese Datei wird als Parameter für das Skript angeben.
Skript zur Einrichtung
Dieses Skript update_pgp_wkd.sh
(Link zum Gist siehe unten) erledigt alles, was man braucht:
#!/bin/bash if [ -z $1 ] then echo "Bitte den Pfad für die Datei mit dem öffentlichen Key mitgeben: z.B. $0 ~/public.txt" exit fi publickeyfile=$(realpath $1) if [ ! -f $publickeyfile ] then echo "Kann den öffentlichen Schlüssel nicht finden: $publickeyfile" exit fi DOMAIN=$(find ~/doms/openpgpkey.*/htdocs-ssl | head -n 1 | awk -F/ '{ print $8 }' | sed -e 's/openpgpkey.//g') if [ -z $DOMAIN ] then echo "Zuerst muss die subdomain openpgpkey.$DOMAIN im HSAdmin eingerichtet werden!" exit fi cd ~/doms/openpgpkey.$DOMAIN cat > .htaccess <<FINISH ForceType application/octet-stream; <IfModule mod_headers.c> Header set Access-Control-Allow-Origin "*" </IfModule> FINISH cd ~/doms/openpgpkey.$DOMAIN/htdocs-ssl/ rm -f .htaccess mkdir -p .well-known/openpgpkey cd .well-known gpg --import < $publickeyfile gpg --list-options show-only-fpr-mbox -k "@$DOMAIN" | /usr/lib/gnupg/gpg-wks-client --install-key touch openpgpkey/$DOMAIN/policy chmod a+x openpgpkey/$DOMAIN/ chmod a+x openpgpkey/$DOMAIN/hu/ touch openpgpkey/$DOMAIN/hu/index.html
Einrichtung bei Hostsharing
Man ruft das Skript dem Pfad zur Datei mit dem öffentlichen Schlüssel als Parameter auf. Es wird die erste Domain gesucht, die mit "openpgpkey." beginnt.
./update_pgp_wkd.sh ~/public.txt
Anschließend kann man das Ergebnis mit dem Dienst auf metacode.biz testen, siehe Link unten.
Links
- Offizielle Webseite
- Offizielle Anleitung
- Kuketz Blog: GnuPG: Web Key Directory (WKD) einrichten
- Thunderbird: PGP-Verschlüsselung für E-Mails einrichten
- Gist: update_pgp_wkd.sh
- Testen der eigenen Einrichtung