From: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
To: Gwyneth Morgan <gwymor@tilde.club>
Cc: git@vger.kernel.org, Junio C Hamano <gitster@pobox.com>
Subject: Re: [PATCH v2] signature-format.txt: note SSH and X.509 signature delimiters
Date: Fri, 10 Feb 2023 11:52:42 +0100 [thread overview]
Message-ID: <230210.86ilg9wzho.gmgdl@evledraar.gmail.com> (raw)
In-Reply-To: <20230210061611.124932-1-gwymor@tilde.club>
On Fri, Feb 10 2023, Gwyneth Morgan wrote:
> This document only explained PGP signatures, but Git now supports X.509
> and SSH signatures.
To elaborate a bit, in 1e7adb97566 (gpg-interface: introduce new
signature format "x509" using gpgsm, 2018-07-17) we added X.509, and in
29b315778e9 (ssh signing: add ssh key format and signing code,
2021-09-10) we added "ssh", but our docs were never updated.
Your commit message says as much in briefer terms, but maybe if you
re-roll having those references would help put this change in context.>
> Signed-off-by: Gwyneth Morgan <gwymor@tilde.club>
> ---
> Documentation/gitformat-signature.txt | 26 ++++++++++++++++++++------
> 1 file changed, 20 insertions(+), 6 deletions(-)
>
> diff --git a/Documentation/gitformat-signature.txt b/Documentation/gitformat-signature.txt
> index d8e3eb1bac..5f0c9202e3 100644
> --- a/Documentation/gitformat-signature.txt
> +++ b/Documentation/gitformat-signature.txt
> @@ -17,12 +17,26 @@ DESCRIPTION
> Git uses cryptographic signatures in various places, currently objects (tags,
> commits, mergetags) and transactions (pushes). In every case, the command which
> is about to create an object or transaction determines a payload from that,
> -calls gpg to obtain a detached signature for the payload (`gpg -bsa`) and
> -embeds the signature into the object or transaction.
> -
> -Signatures always begin with `-----BEGIN PGP SIGNATURE-----`
> -and end with `-----END PGP SIGNATURE-----`, unless gpg is told to
> -produce RFC1991 signatures which use `MESSAGE` instead of `SIGNATURE`.
> +calls an external program to obtain a detached signature for the payload
> +(`gpg -bsa` in the case of PGP signatures), and embeds the signature into the
> +object or transaction.
> +
> +Signatures begin with an ASCII Armor header line and end with a tail line,
> +which differ depending on signature type.
Does the "ASCII Armor header" really add something here, or just confuse
the user with a reference that's not followed-up or explained here?
Maybe we should point out OpenPGP's '--armor' option in passing, to note
to the reader that this isn't some git-specific concept.
> +PGP::
> + Signatures begin with `-----BEGIN PGP SIGNATURE-----` and end
> + with `-----END PGP SIGNATURE-----`, unless gpg is told to
> + produce RFC1991 signatures which use `MESSAGE` instead of
> + `SIGNATURE`.
> +
> +SSH::
> + Signatures begin with `-----BEGIN SSH SIGNATURE-----` and end
> + with `-----END SSH SIGNATURE-----`.
> +
> +X.509::
> + Signatures begin with `-----BEGIN SIGNED MESSAGE-----` and end
> + with `-----END SIGNED MESSAGE-----`.
I wonder if structuring it like this wouldn't help make this easier to
read, and reduce the repetition, as well as making the circular
references between this & 'gpg.format' more obvious:
The signature start and end marker comes on its own line, and
differs based on the signature type (as selected by
'gpg.format', see linkgit:git-config[1]).
Those are, for values of 'gpg.format':
gpg: `-----BEGIN PGP SIGNATURE-----` and `-----END PGP
SIGNATURE-----`. Or, if GPG has been asked to produce
RFC1991 signatures: `-----BEGIN PGP MESSAGE-----` and
`-----END PGP MESSAGE-----`
x509: `-----BEGIN SIGNED MESSAGE-----` `-----END SIGNED MESSAGE-----`
ssh:`-----BEGIN SSH SIGNATURE-----` and `-----END SSH SIGNATURE-----`
Then for gpg.format in Documentation/config/gpg.txt we could add e.g.:
See linkgit:gitformat-signature[5] for the signature format,
which differs based on the selected 'gpg.format'.
next prev parent reply other threads:[~2023-02-10 11:07 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-01-20 5:32 [PATCH] signature-format.txt: Note SSH and X.509 signature delimiters Gwyneth Morgan
2022-01-20 19:30 ` Junio C Hamano
2022-01-20 19:49 ` Junio C Hamano
2023-02-10 6:16 ` Gwyneth Morgan
2023-02-10 16:58 ` Junio C Hamano
2023-02-10 6:16 ` [PATCH v2] signature-format.txt: note " Gwyneth Morgan
2023-02-10 10:52 ` Ævar Arnfjörð Bjarmason [this message]
2023-02-27 20:26 ` Gwyneth Morgan
2023-02-10 19:25 ` Junio C Hamano
2023-02-27 20:27 ` [PATCH v3] " Gwyneth Morgan
2023-02-27 21:44 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=230210.86ilg9wzho.gmgdl@evledraar.gmail.com \
--to=avarab@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=gwymor@tilde.club \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).