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

[PATCH 0/6] ssh signing: verify key lifetime

From
Fabian Stelzer <fs@gigacodes.de>
Date
Oct 22, 2021, 15:09 UTC
Message-ID
<20211022150949.1754477-1-fs@gigacodes.de>

This series adds key lifetime validity checks by passing commit/tag dates to the check operaion.

I'm not totally sure about the way i'm parsing payload info via parse_signed_buffer_metadata(). payload was just an opaque buffer before. Now gpg-interface actually looks at it (thats wy i used a seperate api function for it and did not hide it in check_signature). I chose this approach since it requires the least changes for the consumers of this functionality.

A cleaner way would maybe be introducing a check_object_signature() which takes a struct object instead of the payload directly to avoid the parse function altogether. However only some call sites already have this struct. Tags & fmt-merge-msg use different ways to produce the payload and i'm not sure how involved the objects creation would be or what side-effects this could have(performance?). Since the push-certs use case will never produce a object struct we would still have to keep the existing check_signature function anyway (or encapsulate those in some pseudo-object :/). The now used parse function also opens the usage up to sites already having both infos (date & ident), although there is currently none.

Fabian Stelzer (6):
  ssh signing: extend check_signature to accept payload metadata
  ssh signing: add key lifetime test prereqs
  ssh signing: verify-commit/check_signature with commit date
  ssh signing: git log/check_signature with commit date
  ssh signing: verify-tag/check_signature with tag date
  ssh signing: fmt-merge-msg/check_signature with tag date
 Documentation/config/gpg.txt     |  5 ++
 builtin/receive-pack.c           |  5 +-
 commit.c                         | 12 ++++-
 fmt-merge-msg.c                  | 15 +++++-
 gpg-interface.c                  | 79 ++++++++++++++++++++++++++++----
 gpg-interface.h                  | 13 +++++-
 log-tree.c                       | 22 ++++++++-
 t/lib-gpg.sh                     | 19 +++++++-
 t/t4202-log.sh                   | 43 +++++++++++++++++
 t/t6200-fmt-merge-msg.sh         | 54 ++++++++++++++++++++++
 t/t7031-verify-tag-signed-ssh.sh | 42 +++++++++++++++++
 t/t7528-signed-commit-ssh.sh     | 42 +++++++++++++++++
 tag.c                            | 12 ++++-
 13 files changed, 341 insertions(+), 22 deletions(-)
base-commit: d3b4e01def5a9517c919f0b815c1b12296dc3dc2
-- 
2.31.1
Next: Fabian Stelzer
Message 1 of 14 in “ssh signing: verify key lifetime”
  1. 0/6 ssh signing: verify key lifetimeFabian Stelzer, Oct 22, 2021
  2. 1/6 ssh signing: extend check_signature to accept payload metadataFabian Stelzer, Oct 22, 2021
  3. Junio C HamanoOct 23, 2021
  4. Fabian StelzerOct 25, 2021
  5. Junio C HamanoOct 25, 2021
  6. 3/6 ssh signing: verify-commit/check_signature with commit dateFabian Stelzer, Oct 22, 2021
  7. Ævar Arnfjörð BjarmasonOct 22, 2021
  8. Fabian StelzerOct 25, 2021
  9. 4/6 ssh signing: git log/check_signature with commit dateFabian Stelzer, Oct 22, 2021
  10. 5/6 ssh signing: verify-tag/check_signature with tag dateFabian Stelzer, Oct 22, 2021
  11. 6/6 ssh signing: fmt-merge-msg/check_signature with tag dateFabian Stelzer, Oct 22, 2021
  12. Ævar Arnfjörð BjarmasonOct 22, 2021
  13. Fabian StelzerOct 25, 2021
  14. 2/6 ssh signing: add key lifetime test prereqsFabian Stelzer, Oct 22, 2021

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.