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

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

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

This series adds key lifetime validity checks by passing commit/tag dates to the check operaion. The whole series is functional and has tests. I'm sending this as an RFC since i'm unsure 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).

A cleaner approach 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 its 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. 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                  | 16 +++++--
 gpg-interface.c                  | 80 ++++++++++++++++++++++++++------
 gpg-interface.h                  |  9 ++++
 log-tree.c                       | 23 +++++++--
 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, 334 insertions(+), 28 deletions(-)
base-commit: 33379063c9546476a80d42c704efc4ea5d0d95e5
-- 
2.31.1
Next: Fabian Stelzer
Message 1 of 7 in “ssh signing: verify key lifetime”
  1. 0/6 ssh signing: verify key lifetimeFabian Stelzer, Oct 15, 2021
  2. 1/6 ssh signing: extend check_signature to accept payload metadataFabian Stelzer, Oct 15, 2021
  3. 2/6 ssh signing: add key lifetime test prereqsFabian Stelzer, Oct 15, 2021
  4. 4/6 ssh signing: git log/check_signature with commit dateFabian Stelzer, Oct 15, 2021
  5. 3/6 ssh signing: verify-commit/check_signature with commit dateFabian Stelzer, Oct 15, 2021
  6. 6/6 ssh signing: fmt-merge-msg/check_signature with tag dateFabian Stelzer, Oct 15, 2021
  7. 5/6 ssh signing: verify-tag/check_signature with tag dateFabian Stelzer, Oct 15, 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.