Как вынудить gpg2 использовать истекший ключ?

$ gpg -ear XXXXXXX
gpg: XXXXXXXX: skipped: unusable public key

$ gpg --debug-ignore-expiration -ear XXXXXXXX
gpg: Invalid option "--debug-ignore-expiration"

Как зашифровать? Нет никаких обновлений для ключа, доступного от keyservers. Сообщения должны быть замечены, если у пользователя все еще есть тот ключ с истекшим сроком или не замеченный вообще.

Есть ли некоторые --just-do-that-I-want опция, которая позволит делать это без изменения исходного кода GPG?

11
задан 24.07.2010, 04:08

1 ответ

Как @rob предложенный в комментариях, libfaketime обрабатывает это хорошо:

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

Старый ответ:

  1. Запустите UML (непривилегированный режим Linux)
  2. Дата набора в UML к допустимому диапазону.
  3. Зашифруйте сообщение в UML
11
ответ дан 07.12.2019, 12:21

Теги

Похожие вопросы