% master: gnupg.tex 
% GnuPG v0.3
% 2022-05-10 (Rx)

\section{GnuPG}
%--------------
Mit GnuPG kann man Daten signieren und verschlüsseln. GnuPG unterstüzt
symmetrische und asymmetrische Verschlüsselung.

\begin{verbatim}
http://www.gnupg.org/                          http-Adresse für GnuPG
http://www.gnupg.org/related_software/gpa/     Grafische Benutzereingabe

http://www.heise.de/security/dienste/pgp/      Krypto-Kampagne, bei der
                                               ein Abgleich zwischen
                                               Person, Personalausweis
                                               und Schlüssel erfolgt

http://kmail.kde.org/                          Mailprogramme mit GnuPG
http://www.mutt.org/                           Unterstützung
http://www.ximian.com/products/evolution/
\end{verbatim}

\subsection{Erzeugen}
\index{gpg}
\begin{verbatim}
gpg --gen-key                   Schlüssel-Paar erzeugen
gpg --gen-revoke 0xKeyID        Widerruf Zertifikat erzeugen
                                 > gpg-rev-Will_no_longer_use_it
                                 > gpg-rev-Lost_private_key
                                 > gpg-rev-Forgot_password
                                 > gpg-rev-Key_compromised
\end{verbatim}

\subsection{Hochladen}
\begin{verbatim}
gpg --keyserver wwwkeys.de.pgp.net --send-keys 0xKeyID
                                Public Key auf den Keyserver hochladen
gpg -a --export 0xKeyID | mail -s "add" pgp-public-keys@keys.de.pgp.net
                                Public Key an den Keyserver verschicken
Keyserver:
Land          eMail-Adresse                   HTTP-Adresse
----          -------------                   ------------
Deutschland   pgp-public-keys@keys.de.pgp.net http://wwwkeys.de.pgp.net/
Östereich     pgp-public-keys@keys.at.pgp.net http://wwwkeys.at.pgp.net/
Schweiz       gp-public-keys@keys.ch.pgp.net  http://wwwkeys.ch.pgp.net/
\end{verbatim}

\subsection{Löschen}
\begin{verbatim}
gpg --recv-keys 0xKeyID         Key vernichten
gpg --import                    WiderrufZertifikat
gpg --send-keys 0xKeyID

gpg --delete-key 0xKeyID        löscht einen öffentlichen Schlüssel

cat gpg-rev-xxx | mail -s "add" pgp-public-keys@keys.de.pgp.net
                                Widerruf Zertifikat an den Keyserver
                                verschicken
\end{verbatim}

\subsection{Holen}
\index{mail}
\begin{verbatim}
gpg --keyserver wwwkeys.de.pgp.net --recv-keys 0xKeyID
                                Public-Key vom Keyserver holen
mail -s "get thomasb@trash.net" pgp-public-keys@keys.de.pgp.net
                                Public-Key per E-Mail
                                vom Keyserver holen
gpg --import Key.txt            Public-Key inportieren
\end{verbatim}

\subsection{Signatur erzeugen und prüfen}
\begin{verbatim}
gpg -a --sign Datei             einen Text signieren, erzeugt Datei.asc
gpg --verify Datei.asc Datei    eine Signatur prüfen

gpg --clearsign Datei           einen Text signieren,
                                erzeugt neue Datei.asc
gpg --verify Datei.asc          eine Signatur prüfen
\end{verbatim}

\subsection{Verschlüsseln}
\begin{verbatim}
gpg -a -r Empfänger0xKeyID -e Datei
                                einen Text verschlüsseln,
                                erzeugt Datei.asc
\end{verbatim}

\subsection{Entschlüsseln}
\begin{verbatim}
gpg Datei.asc                   einen verschüsselten und signierten Text
                                entschlüsseln und die Signatur prüfen,
                                erzeugt Datei
\end{verbatim}

\subsection{Schlüsselverwaltung}
\begin{verbatim}
gpg --edit 0xKeyID              Schlüsselverwaltung
                                 help - Anzeige aller Befehle
                                 quit - Das Menu beenden
\end{verbatim}

\subsection{Anzeigen}
\begin{verbatim}
gpg --list-keys                 zeigt alle öffentlichen Schlüssel
gpg --list-sigs                 zeigt alle Unterschriften
gpg --fingerprint               zeigt alle Fingerabdrücke
\end{verbatim}

\subsection{Exportieren}
\begin{verbatim}
gpg -a --export 0xKeyID > Datei exportiert den Schlüssel 0xKeyID
                                in Datei
gpg -a --export > Datei         exportiert alle Schlüssel in Datei
\end{verbatim}