doc: gpg: say which date SSH key lifetimes are checked against

The description of gpg.ssh.allowedSignersFile says that Git marks a
signature as valid if the signing key was valid at the time of the
signature's creation. An SSH signature does not record when it was
made, though. When verifying a commit or a tag, Git passes the
committer or tagger date to ssh-keygen with -Overify-time, and the
valid-after and valid-before options of a key are checked against
that date.

Say which date is used, and that the signer chooses it. While at it,
fix the spelling of "OpenSSH" in the same paragraph.

Helped-by: Phillip Wood <phillip.wood@dunelm.org.uk>
Helped-by: Junio C Hamano <gitster@pobox.com>
Helped-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Christian Noé Ramos López <chris@nortesoftware.dev>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Christian Noé Ramos López authored and Junio C Hamano committed 2026-10-30 09:19:25 -07:00
1 parent 47fdf2208c
commit 88e452fdd8
1 file changed
+6 -4
+6 -4
View File
@@ -70,10 +70,12 @@ A repository that only allows signed commits can store the file
in the repository itself using a path relative to the top-level of the working tree.
This way only committers with an already valid key can add or change keys in the keyring.
+
Since OpensSSH 8.8 this file allows specifying a key lifetime using valid-after &
valid-before options. Git will mark signatures as valid if the signing key was
valid at the time of the signature's creation. This allows users to change a
signing key without invalidating all previously made signatures.
Since OpenSSH 8.8 this file allows specifying a key lifetime using valid-after &
valid-before options. Git validates the signature by checking the committer or
tagger timestamp is within the validity time range. This does not provide any
security guarantees as the timestamp can be chosen arbitrarily by the signer.
But it allows users to change a signing key without invalidating all previously
made signatures.
+
Using a SSH CA key with the cert-authority option
(see ssh-keygen(1) "CERTIFICATES") is also valid.