Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Jimit Bhalavat, jimitbhalavat144@gmail.com

Project Plan

Git integration with external signing tools

Currently, git supports signing/verifying commits and tags using GPG only. The goal of this project is to make the git signing interface compatible with external signing tools and with DIDs (Distributed Identities) using programs such as bettersign for example.

This project will be the continuation of the work already done by David Huseby on the subject. His previous work is here:

The main sections of the project are updating the user configuration and the command handling when signing or verifying operation occurs. The actions needed in each section can be listed below and will be evolving as the project evolves.

UPDATE: The request for proposal has been sent to the git mailing list and can be tracked here:

https://public-inbox.org/git/CACi-FhDeAZecXSM36zroty6kpf2BCWLS=0R+dUwuB96LqFKuTA@mail.gmail.com/T/#u

NEW: Collaborate with Google FIDO Team to land the patches successfully. Attempt to reconnect with the community.


Below is an illustrative model of the expected outcome:

Image Modified

Image Modified

Milestones

  •  Submit project proposal (June 15, 2020)
  •  Git version control tool to use cryptographic credentials in decentralized identity (DID) documents to sign and verify commits.
  •  This will enable Git to use any signing tool more easily rather than just its existing support for GnuPG.
  •  Get these patches landed into Git and out in the wild. 
  •  Construction of a software application that can be called by Git to sign/verify commits using credentials stored in DID docs.
  •  Update code to support the config based approach
  •  Implement a Python Indy signing tool for DIDs 
  •  Refine implementation and follow through to landing

Detailed Steps

Testing

  •  Integration testing
  •  Manual testing git with new functionalities and signing programs

Back-burner Tasks

These are secondary tasks to do while waiting for feedback or assistance, or finished early:

  •  Learn Rust
  •  Signing through the Indy CLIContinue developing proficiency in C and C++