WKD einrichten: Unterschied zwischen den Versionen
Tim00 (Diskussion | Beiträge) (erste Version) |
KKeine Bearbeitungszusammenfassung |
||
(4 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 12: | Zeile 12: | ||
Der öffentliche Schlüssel muss in einer Textdatei im Domainbenutzer gespeichert sein. Diese Datei wird als Parameter für das Skript angeben. | Der öffentliche Schlüssel muss in einer Textdatei im Domainbenutzer gespeichert sein. Diese Datei wird als Parameter für das Skript angeben. | ||
== Einrichtung | == Skript zur Einrichtung == | ||
Dieses Skript <code>update_pgp_wkd.sh</code> erledigt alles, was man braucht: | Dieses Skript <code>update_pgp_wkd.sh</code> (Link zum Gist siehe unten) erledigt alles, was man braucht: | ||
< | <syntaxhighlight lang=shell line> | ||
#!/bin/bash | #!/bin/bash | ||
Zeile 24: | Zeile 24: | ||
exit | exit | ||
fi | fi | ||
publickeyfile=$1 | publickeyfile=$(realpath $1) | ||
if [ ! -f $publickeyfile ] | if [ ! -f $publickeyfile ] | ||
Zeile 57: | Zeile 57: | ||
chmod a+x openpgpkey/$DOMAIN/hu/ | chmod a+x openpgpkey/$DOMAIN/hu/ | ||
touch openpgpkey/$DOMAIN/hu/index.html | touch openpgpkey/$DOMAIN/hu/index.html | ||
</ | </syntaxhighlight> | ||
== 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. | Man ruft das Skript mit dem Pfad zur Datei mit dem öffentlichen Schlüssel als Parameter auf. Es wird die erste Domain gesucht, die mit "openpgpkey." beginnt. | ||
<syntaxhighlight lang=shell> | |||
./update_pgp_wkd.sh ~/public.txt | |||
</syntaxhighlight> | |||
Anschließend kann man das Ergebnis mit dem Dienst auf metacode.biz testen, siehe Link unten. | Anschließend kann man das Ergebnis mit dem Dienst auf metacode.biz testen, siehe Link unten. | ||
Zeile 70: | Zeile 74: | ||
* [https://www.kuketz-blog.de/gnupg-web-key-directory-wkd-einrichten/ Kuketz Blog: GnuPG: Web Key Directory (WKD) einrichten] | * [https://www.kuketz-blog.de/gnupg-web-key-directory-wkd-einrichten/ Kuketz Blog: GnuPG: Web Key Directory (WKD) einrichten] | ||
* [https://www.heise.de/tipps-tricks/Thunderbird-PGP-Verschluesselung-fuer-E-Mails-einrichten-4561551.html Thunderbird: PGP-Verschlüsselung für E-Mails einrichten] | * [https://www.heise.de/tipps-tricks/Thunderbird-PGP-Verschluesselung-fuer-E-Mails-einrichten-4561551.html Thunderbird: PGP-Verschlüsselung für E-Mails einrichten] | ||
* [https://gist.github.com/tpokorra/84aef5f97981535b871fe9e4719e940d Gist: update_pgp_wkd.sh] | |||
* [https://metacode.biz/openpgp/web-key-directory Testen der eigenen Einrichtung] | * [https://metacode.biz/openpgp/web-key-directory Testen der eigenen Einrichtung] | ||
Aktuelle Version vom 5. Juli 2024, 11:16 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 mit 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