署名中のライセンスがあります。
gpg --default-sig-expire "2024-02-14" --sign licence
その結果は次のとおりです。
$ gpg --verify licence.gpg
gpg: Signature made Tue 13 Feb 2024 08:18:39 AM CET
gpg: using RSA key 1234567890ABCDEF1234567890ABCDEF
gpg: issuer "[email protected]"
gpg: Good signature from "Stewart <[email protected]>" [ultimate]
gpg: Signature expires Wed 14 Feb 2024 12:00:00 PM CET
これが12:00:00 PM CET
私の問題です。私は通常その時間にランチを食べに行きます。昼食時にシステムがオフラインであるという電話を受けたくありません。時間を指定できますか?むしろ期限切れになってほしいです13:00:00 PM CET
。
--ask-sig-expire
日/週/年数だけを求めるメッセージが表示されます。
$ gpg --ask-sig-expire --sign licence
Please specify how long the signature should be valid.
0 = signature does not expire
<n> = signature expires in n days
<n>w = signature expires in n weeks
<n>m = signature expires in n months
<n>y = signature expires in n years
Signature is valid for? (0)
ISO 8601はサポートされていないようです。
$ gpg --default-sig-expore "2024-02-14T13:00:00+02:00" --sign licence
gpg: '2024-02-14T13:00:00+02:00' is not a valid signature expiration
このman systemd.time
仕様はサポートされていないようです。
$ gpg --default-sig-expire "2024-02-14 13:00:00" --sign licence
gpg: '2024-02-14 13:00:00' is not a valid signature expiration
マニュアルページには可能な時間も表示されません。
--default-sig-expire
The default expiration time to use for signature expiration. Valid values
are "0" for no expiration, a number followed by the letter d (for days),
w (for weeks), m (for months), or y (for years) (for example "2m" for two
months, or "5y" for five years), or an absolute date in the form
YYYY-MM-DD. Defaults to "0".
私が見つけた唯一の解決策は、システムのタイムゾーンを私の西の次のタイムゾーンに変更してから署名し、システムのタイムゾーンを元の時間に戻すことです。
$ sudo mv /etc/localtime{,.backup}
$ sudo ln -s /usr/share/zoneinfo/Europe/London /etc/localtime
$ gpg --default-sig-expire "2024-02-14" --sign licence
$ sudo mv /etc/localtime{.backup,}
$ gpg --verify licence.gpg
gpg: Signature made Tue 13 Feb 2024 08:18:39 AM CET
gpg: using RSA key 1234567890ABCDEF1234567890ABCDEF
gpg: issuer "[email protected]"
gpg: Good signature from "Stewart <[email protected]>" [ultimate]
gpg: Signature expires Wed 14 Feb 2024 01:00:05 PM CET
答え1
--default-sig-expire
時間仕様で許可される唯一の形式は次のとおりですYYYYMMddTHHmmss[Z]
。
gpg --default-sig-expire 20240214T130000 --sign license
夏時間と同様に、タイムゾーン指定子は無視されるため、現在ヨーロッパでは指定された時間より1時間遅い有効期限が生成されます。処理時間gpg
は署名の最終的な有効性にも影響します。例えば既存の署名ファイルを上書きすることを確認するため)、結果として、遅延のために有効期限が遅れます。
これを確認するには:--default-sig-expire
定義、それから確認解析オプションの値を使用します。parse_expire_string
、さまざまな形式を知っています。絶対タイムスタンプ(時、分、秒を含む)を許可する唯一のものは次のとおりです。isotime2epoch
(および64ビットtime_t
バリアント)、コメントとして指定
サポートされる唯一の形式は、空白、nul、コロン、またはカンマ区切りの「yyyymmddThhmmss [Z]」です。