Wie kann man gpg2 dazu zwingen, den abgelaufenen Schlüssel zu verwenden?

2877
Vi.
$ gpg -ear XXXXXXX gpg: XXXXXXXX: skipped: unusable public key  $ gpg --debug-ignore-expiration -ear XXXXXXXX gpg: Invalid option "--debug-ignore-expiration" 

Wie verschlüsseln? Von den Keyservern sind keine Updates für den Schlüssel verfügbar. Nachrichten sollten angezeigt werden, wenn der Benutzer den abgelaufenen Schlüssel noch besitzt oder überhaupt nicht angezeigt wird.

Gibt es eine --just-do-that-I-wantOption, die dies erlaubt, ohne den Quellcode von GPG zu ändern?

8
warum willst du das machen? Im Wesentlichen wird die gesamte Sicherheit durchbrochen. Bei GPG geht es darum, dass Sie es buchstäblich nur Klartext senden können, wenn Sie dies tun. Ich empfehle Ihnen, die empfangende Person nur zu bitten, ihren öffentlichen Schlüssel zu aktualisieren konqui vor 6 Jahren 0
Die Verwendung eines abgelaufenen Schlüssels bietet eine höhere Sicherheit im Vergleich zur Verwendung ohne Schlüssel. Möglicherweise muss auch eine alte Nachricht mit einem alten, abgelaufenen Schlüssel aus dem Archiv entschlüsselt werden. Vi. vor 6 Jahren 0
Shure ist möglicherweise auch fehlerhaft. Verschlüsselung ist besser als gar keine Verschlüsselung. Ich übertreibe es einfach aus Gründen. Für alte Nachrichten, die damals mit dem alten öffentlichen Schlüssel verschlüsselt wurden, muss er ja seinen alten privaten Schlüssel verwenden, aber das bedeutet nicht, dass er kein neues Schlüsselpaar für neue Nachrichten erstellen kann. Es gibt also wirklich keinen Grund, einen veralteten öffentlichen Schlüssel zu verwenden. Privater Schlüssel ist eine andere Sache, aber ich hatte nie gpg beschwert, einen veralteten privaten Schlüssel für die Beschreibung zu verwenden. konqui vor 6 Jahren 0

2 Antworten auf die Frage

6
Vi.

Wie @rob in Kommentaren vorgeschlagen hat, kann libfaketime dies gut handhaben :

$ gpg -v -v -v --batch --trust-model always -ear D5B9D38C <<< "qweqe" gpg: using character set 'utf-8' gpg: Note: signature key 077EA269D5B9D38C expired Sun 09 Nov 2014 12:57:25 PM +03 gpg: D5B9D38C: skipped: Unusable public key gpg: [stdin]: encryption failed: Unusable public key  $ faketime '2012-12-24 08:15:42' gpg -v -v -v --batch --trust-model always -ear D5B9D38C <<< "qweqe" gpg: using character set 'utf-8' gpg: using subkey 85231B396B9569ED instead of primary key 077EA269D5B9D38C gpg: No trust check due to '--trust-model always' option gpg: reading from '[stdin]' gpg: writing to stdout gpg: RSA/AES256 encrypted for: "..." -----BEGIN PGP MESSAGE----- ... 

Alte Antwort:

  1. UML starten (Benutzermodus Linux)
  2. Setzen Sie das Datum in der UML auf einen akzeptablen Bereich.
  3. Nachricht in UML verschlüsseln
Kann das Datum auch mit libfaketime fälschen. Die gleiche Idee wie die Antwort, aber für manche vielleicht einfacher. rob vor 11 Jahren 1
Es gibt wirklich keine Option --force, also nur ein Date-Hack nur? m ( mcantsin vor 7 Jahren 1
2
guest

Hardware und Systemuhr zurücksetzen:

sudo hwclock --set --date "12/31/2017 23:59:59" && \ sudo hwclock --hctosys && \ gpg --sign-with $keyid --clearsign --armor < $file 

Danach (ich hoffe, Sie haben NTP aktiviert) korrigieren Sie Ihre Hardware-Uhr mit:

sudo hwclock --systohc 
Zu drastisch. Die Zeit sollte nur für gpg überschrieben werden, nicht für das gesamte System. Vi. vor 6 Jahren 0
`faketime '2012-12-24 08:15:42' gpg ...` ist besser. Vi. vor 6 Jahren 0