Git release tagging best practices
Daniel Kahn Gillmor
dkg at fifthhorseman.net
Wed Mar 20 13:28:33 CET 2019
On Tue 2019-03-19 19:09:25 +0100, Peter Lebbing wrote:
> On 19/03/2019 17:32, Daniel Kahn Gillmor wrote:
>> PS Note that the *name* of the tag itself is not covered by the
>> cryptographic signature (it is possible to rename tags without
>> modifying their cryptographic validity). This is why I recommend
>> using the tag message to contain this information rather than the tag
>> name itself.
>
> Are you sure? I looked at what the exact data that is signed is, and it
> seems to me it does include the name:
That's interesting, thanks for pointing it out. There are two places
for the name of the tag, and i think you're right that the signatures
made by modern git tags do seem to include the tag name (gnupg is ahead
of the game here, fwiw: many projects don't include the project name in
their tag name, and just go with tags like v2.2.13, which leave the same
issue open). I didn't think that they used to do that, but maybe they
did and i just never noticed.
> Note that the third line of the signed data reads "tag gnupg-2.2.13". So
> is there some loophole that means this is not useful?
To test that, i've just pushed https://gitlab.com/dkg/renaming-demo.git,
where I've just re-named a different tag issued by Werner.
If you were to clone that repository, you'll note that "git tag -v
gnupg-2.2.13" returns success, even though the contents of the message
don't say "tag gnupg-2.2.13".
So i suppose it depends on how you think people are verifying that tag.
I'd imagine most folks (if they verify the tag at all) just check that
git tag -v $tagname returns 0 (and maybe they check that the tag was
made by a key that they associate with the project).
I wonder whether we "git tag -v" should raise an error if the tag name
within the signature doesn't match the tag name being verified. I've
just sent message-id: <875zsdu41d.fsf at fifthhorseman.net> to
git at vger.kernel.org to ask about improving the situation there (maybe i
need to subscribe to convince them to let my mail through, though, i
don't know).
> I'm not saying that the first line of tag messages shouldn't be
> standardized as you propose, I'm just debating the correctness of the
> quoted assertion.
Thanks for the clarifying question, and for pointing this out!
Regards,
--dkg
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 227 bytes
Desc: not available
URL: <https://lists.gnupg.org/pipermail/gnupg-devel/attachments/20190320/9f89d6a4/attachment.sig>
More information about the Gnupg-devel
mailing list