SSH key management enhancements to support SSH signed commits

Why are we doing this work

#343879 (closed) is the first iteration of SSH commit signing, which allows us to sign commits using SSH keys and verify them using keys already present in GitLab. However, before the feature can be made generally available, there are enhancements needed to how SSH keys are managed in GitLab.

  1. Allow the user to designate the purpose of an SSH key (either for authentication or signing)

    Screen_Shot_2022-09-23_at_7.05.34_AM

  2. Signing keys need to be able to be revoked.

Relevant links

Non-functional requirements

  • Documentation:
  • Feature flag:
  • Performance:
  • Testing:

Implementation plan

Verification steps

Edited by Brian Williams