如何设置 OpenPGP 证书的自定义创建日期?

如何设置 OpenPGP 证书的自定义创建日期?

我可以创建包含自定义创建(开始有效期)日期的 OpenPGP 证书吗?

我今天需要创建一个 OpenPGP 证书,但使其仅从下周开始有效(例如)。

使用“Kleopatra”之类的工具,我只能设置“到期日期”。

答案1

密钥和证书

首先,OpenPGP 的表述与 X.509 不同。您所描述的证书在 OpenPGP 中通常称为“密钥”,而其他密钥上的签名才称为认证。

“之前无效”

此外,没有定义“在此之前无效”参数。有创建时间戳,但没有定义未来日期的行为——OpenPGP 的实现可能会发出警告、完全拒绝使用密钥或完全忽略这一事实。

伪造创建时间

GnuPG 不知道设置创建时间的选项,而是使用系统时间。最简单、最通用的方法是将系统时间更改为所需的日期。

对于 Linux,有一个非常有用的工具faketimegithub 上的源代码),它可以用来启动具有任意日期的其他命令:

faketime -f '2008-12-24 08:15:42' gpg2 --gen-key

gpg-agent如果它没有看到(但使用)伪造的时间,您可能必须终止以便重新启动它。

GnuPG 也有一个--faketime参数,但它只有在设置时才有效--debug,这需要一些并不总是应用于生产版本的编译选项。

相关内容