Private Schlüssel verfallen nie. Dies tun nur öffentliche Schlüssel. Andernfalls würde die Welt den Ablauf niemals bemerken, da (hoffentlich) die Welt die privaten Schlüssel niemals sieht.
Für den wichtigen Teil gibt es nur einen Weg, so dass eine Diskussion über Vor- und Nachteile erspart bleibt.
Sie müssen die Gültigkeit des Hauptschlüssels verlängern:
gpg --edit-key 0x12345678
gpg> expire
...
gpg> save
Sie müssen eine Entscheidung über die Verlängerung der Gültigkeit oder das Ersetzen der Unterschlüssel treffen. Wenn Sie sie ersetzen, erhalten Sie eine eingeschränkte Sicherheit für die Weiterleitung (beschränkt auf relativ große Zeiträume). Wenn Ihnen das wichtig ist, sollten Sie (separate) Unterschlüssel für die Verschlüsselung und das Signieren haben (standardmäßig nur für die Verschlüsselung).
gpg --edit-key 0x12345678
gpg> key 1
gpg> expire
...
gpg> key 1
gpg> key 2
gpg> expire
...
gpg> save
Sie müssen key 1
zweimal auswählen und die Auswahl aufheben, da Sie die Gültigkeit von jeweils nur einem Schlüssel verlängern können.
Sie können auch die Gültigkeit verlängern, es sei denn, Sie haben Grund zu der Annahme, dass der Schlüssel kompromittiert wurde. Es ist nur dann sinnvoll, wenn Sie einen Offline-Hauptschlüssel haben (der IMHO-Modus ist ohnehin der einzig sinnvolle Weg, OpenPGP zu verwenden), wenn Sie nicht das gesamte Zertifikat im Falle einer Kompromittierung wegwerfen.
Die Benutzer Ihres Zertifikats müssen ohnehin die aktualisierte Version erhalten (entweder für die neuen Schlüsselsignaturen oder für die neuen Schlüssel). Durch das Ersetzen wird der Schlüssel etwas größer, aber das ist kein Problem.
Wenn Sie Smartcards verwenden (oder planen, dies zu tun), führt das Vorhandensein von mehr (Verschlüsselungs-) Schlüsseln zu gewissen Unannehmlichkeiten (eine Karte mit dem neuen Schlüssel kann alte Daten nicht entschlüsseln).
gpg> expire Need the secret key to do this.
Irgendwelche Ideen, wie man das umgehen kann?