git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 1/5] Documentation/technical: describe signature formats

From
Michael J Gruber <git@drmicha.warpmail.net>
Date
Jun 17, 2016, 07:46 UTC
Message-ID
<e1291ccb031f5da1935d7d0b8db57fe6ea951b2b.1466148698.git.git@drmicha.warpmail.net>
In-Reply-To
<cover.1466148698.git.git@drmicha.warpmail.net>

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>
---
 Documentation/Makefile                       |  1 +
 Documentation/technical/signature-format.txt | 17 +++++++++++++++++
 2 files changed, 18 insertions(+)
 create mode 100644 Documentation/technical/signature-format.txt
diff --git a/Documentation/Makefile b/Documentation/Makefile
index 35c1385..b43d66e 100644
--- a/Documentation/Makefile
+++ b/Documentation/Makefile
@@ -76,6 +76,7 @@ TECH_DOCS += technical/protocol-common
 TECH_DOCS += technical/racy-git
 TECH_DOCS += technical/send-pack-pipeline
 TECH_DOCS += technical/shallow
+TECH_DOCS += technical/signature-format
 TECH_DOCS += technical/trivial-merge
 SP_ARTICLES += $(TECH_DOCS)
 SP_ARTICLES += technical/api-index
diff --git a/Documentation/technical/signature-format.txt b/Documentation/technical/signature-format.txt
new file mode 100644
index 0000000..fda4fb8
--- /dev/null
+++ b/Documentation/technical/signature-format.txt
@@ -0,0 +1,17 @@
+Git signature format
+====================
+
+== Overview
+
+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`.
+
+The signed payload and the way the signature is embedded depends
+on the type of the object resp. transaction.
-- 
2.9.0.382.g87fd384
Previous: Michael J GruberNext: Michael J Gruber
Message 2 of 9 in “Documentation/technical: describe signature formats”
  1. 0/5 Documentation/technical: describe signature formatsMichael J Gruber, Jun 17, 2016
  2. 1/5 Documentation/technical: describe signature formatsMichael J Gruber, Jun 17, 2016
  3. 4/5 Documentation/technical: signed merge tag formatMichael J Gruber, Jun 17, 2016
  4. 3/5 Documentation/technical: signed commit formatMichael J Gruber, Jun 17, 2016
  5. 5/5 Documentation/technical: push certificate formatMichael J Gruber, Jun 17, 2016
  6. [PATCHv2] Documentation/technical: push certificate formatMichael J Gruber, Jun 17, 2016
  7. Junio C HamanoJun 17, 2016
  8. 2/5 Documentation/technical: signed tag formatMichael J Gruber, Jun 17, 2016
  9. Junio C HamanoJun 17, 2016

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.