zaquestion / lab

Lab wraps Git or Hub, making it simple to clone, fork, and interact with repositories on GitLab
https://zaquestion.github.io/lab
Creative Commons Zero v1.0 Universal
1.11k stars 102 forks source link

Create command for retrieving user's SSH and GPG key #892

Open bmeneg opened 8 months ago

bmeneg commented 8 months ago

When a user works with signed commits (SSH or GPG key) and wants to verify the keys locally, one must retrieve the public key for the commit's author from GitLab's database and add it to the allowed_signers file (or the file pointed by gpg.ssh.allowedSignersFile git config) and/or the GPG local keyring, enabling the signature verification on git log --show-signatures.

For that, we must use User's API endpoint, which is also available in go-gitlab package.

bmeneg commented 8 months ago

At first, we can just print enough information for the user and let one deal with adding that public key to the correct place: "allowed_signers" file in case of SSH signature, and GPG keyring for GPG signature, avoiding system differences, eg. gpg gpg2 gnome-keyring....