Как установить пользовательскую дату создания сертификатов OpenPGP?
Могу ли я создать сертификат OpenPGP, содержащий пользовательскую дату начала (начала действия)?
Мне нужно создать сертификат OpenPGP сегодня, но он действителен только со следующей недели (например).
Используя такие инструменты, как "Клеопатра", я могу установить только "дату истечения".
1 ответ
Ключи и сертификаты
Во-первых, OpenPGP имеет другую формулировку, чем X.509. То, что вы описываете как сертификаты, обычно называется "ключом" в OpenPGP, в то время как только подписи на других ключах называются сертификацией.
"Недействительно раньше"
Кроме того, не существует определенного параметра "не действителен до". Существует отметка времени создания, но в будущем нет определенного поведения для дат - реализации OpenPGP могут выдавать предупреждение, полностью запрещать использование ключа или просто игнорировать этот факт.
Фальсификация времени создания
GnuPG не знает опции для установки времени создания, но используется системное время. Самый простой и общий способ - изменить системное время на желаемую дату.
Для Linux есть очень полезный инструмент faketime
, который можно использовать для запуска других команд с произвольными датами:
faketime '2008-12-24 08:15:42' gpg2 --gen-key
Возможно, вам придется прекратить gpg-agent
поэтому он перезапускается, если не видит (но использует) фальшивое время.
GnuPG также имеет --faketime
параметр, но он работает только если --debug
также установлен, что требует некоторых параметров компиляции, которые не всегда применяются для производственных сборок.