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 <git@drmicha.warpmail.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Michael J Gruber committed
Jun 17, 2016 at 09:46 UTC
76f9d8bac8138d4c0caac02983ef4df7f9a51cba
2 files changed
+18
Documentation/Makefile
+1
@@ -76,6 +76,7 @@ TECH_DOCS += technical/protocol-common
76
TECH_DOCS += technical/racy-git
77
TECH_DOCS += technical/send-pack-pipeline
78
TECH_DOCS += technical/shallow
79
+TECH_DOCS += technical/signature-format
80
TECH_DOCS += technical/trivial-merge
81
SP_ARTICLES += $(TECH_DOCS)
82
SP_ARTICLES += technical/api-index
Documentation/technical/signature-format.txt
new
+17
@@ -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.