WKD einrichten: Unterschied zwischen den Versionen

Aus Hostsharing Wiki
Zur Navigation springen Zur Suche springen
(erste Version)
 
(Gist mit Skript hinzugefügt)
Zeile 14: Zeile 14:
== Einrichtung bei Hostsharing ==
== Einrichtung bei Hostsharing ==


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:


<pre>
<pre>
Zeile 70: Zeile 70:
* [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]



Version vom 18. November 2021, 05:19 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.

Einrichtung bei Hostsharing

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=$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

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