Skip to content

Commit 76f9d8b

Browse files
Michael J Grubergitster
authored andcommitted
Documentation/technical: describe signature formats
We use different types of signature formats in different places. Set up the infrastructure and overview to describe them systematically in our technical documentation. Signed-off-by: Michael J Gruber <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent 05219a1 commit 76f9d8b

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

Documentation/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ TECH_DOCS += technical/protocol-common
7676
TECH_DOCS += technical/racy-git
7777
TECH_DOCS += technical/send-pack-pipeline
7878
TECH_DOCS += technical/shallow
79+
TECH_DOCS += technical/signature-format
7980
TECH_DOCS += technical/trivial-merge
8081
SP_ARTICLES += $(TECH_DOCS)
8182
SP_ARTICLES += technical/api-index
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
Git signature format
2+
====================
3+
4+
== Overview
5+
6+
Git uses cryptographic signatures in various places, currently objects (tags,
7+
commits, mergetags) and transactions (pushes). In every case, the command which
8+
is about to create an object or transaction determines a payload from that,
9+
calls gpg to obtain a detached signature for the payload (`gpg -bsa`) and
10+
embeds the signature into the object or transaction.
11+
12+
Signatures always begin with `-----BEGIN PGP SIGNATURE-----`
13+
and end with `-----END PGP SIGNATURE-----`, unless gpg is told to
14+
produce RFC1991 signatures which use `MESSAGE` instead of `SIGNATURE`.
15+
16+
The signed payload and the way the signature is embedded depends
17+
on the type of the object resp. transaction.

0 commit comments

Comments
 (0)