GnuPG HowTo

Für nicht ganz alltägliche Dinge...

gpg --list-keys

sec ⇒ 'SECret key'
ssb ⇒ 'Secret SuBkey'
pub ⇒ 'PUBlic key'
sub ⇒ 'public SUBkey'

PUBKEY_USAGE_SIG      S       key is good for signing
PUBKEY_USAGE_CERT     C       key is good for certifying other signatures
PUBKEY_USAGE_ENC      E       key is good for encryption
PUBKEY_USAGE_AUTH     A       key is good for authentication

gpg2 --expert --full-generate-key

Seit GnuPG 2.1 wird secring.gpg nicht mehr verwendet, sondern im
	private-keys-v1.d verzeichnis.

Public Key für SSH exportieren

$ gpg --export-ssh-key <key-id>

Dieser Befehl ist verfügbar seit GnuPG 2.1.11, das Programm gpgkey2ssh wird somit nicht mehr benötigt.

Keygrip für ~/.gnupg/sshcontrol anzeigen

$ gpg --with-keygrip -k <key-id>

Anschliessend muss man an die 40-Stellige Hexzahl noch ein Leerzeichen und eine Null anhängen, etwa so:

$ echo "D11C82133CAADCA42A00074D5EE92023B85110DF 0" >> ~/.gnupg/sshcontrol

Erlaubte Hash/Verschlüsselungsalgorithmen festlegen:

In .gnupg/gpg.conf erlaubte Algorithmen eintragen:

# Liste der bevorzugten Algorithmen für neue Schlüssel default-preference-list SHA512 SHA384 SHA256 AES256 AES192 AES CAST5 ZLIB BZIP2 ZIP Uncompressed # Bevorzugte Verschlüsslungsalgorithmen personal-cipher-preferences AES256 AES192 AES CAST5 # Bevorzugte Hashalgorithmen personal-digest-preference SHA512 SHA384 SHA256 SHA224 # Hashalgorithmus zur Signatur von Schlüsseln cert-digest-algo SHA512

Herausfinden, ob Key noch mit SHA1 signiert ist:

Herausfinden der eigenen KeyID

gpg --list-secret-keys

Public Key exportieren

gpg --export --armor KeyID > mykey.asc

Nach relevanten Teilen durchsuchen

gpg --list-packets mykey.asc | grep -A2 ':signature packet:.*KeyID'

Interessant ist, was bei "digest algo" steht. Steht da digest algo 2, wäre das SHA1. algo 8 ist SHA256, algo 9 ist SHA384 und algo 10 ist SHA512

Entfernen von alten SHA1 Signaturen im Key

Hier vorher am besten Backup des .gnupg verzeichnis, falls was schief geht

Mit gpg --edit-key KeyID startet man den Key-Editor und mit "expire" setzt man ein neues Ablaufdatum (beliebig) - danach wieder auf den ursprünglichen Wert setzen. Ggf. muss man das auch mit den SubKeys tun, diese wählt man mit "key 1", "key 2", ... etc.

Dann mit "setpref" die neuen Präferenzen im Key vermerken. Schliesslich noch mit "clean" die alten SHA1 Signaturen entfernen. und dann mit "save" abspeichern.

Zuordnung von Privat-Key und Datei herausfinden

Um herauszufinden, zu welchem privaten Schlüssel eine Datei im Verzeichnis private-keys-v1.d gehört, lässt man sich die Keygrips der Schlüssel anzeigen:

gpg --list-secret-keys --with-keygrip