Cómo firmar tus commits de git con claves GPG

Cuando observas repositorios de código abierto o proyectos profesionales, puede que notes que algunos commits tienen una insignia de “Verificado”. Estos commits firmados prueban la identidad del autor y añaden una capa adicional de confianza al código base.
Firmar tus commits de Git con claves GPG es sencillo de configurar y proporciona una prueba clara de que los commits realmente provienen de ti.
En este artículo, aprenderás cómo crear una clave GPG, configurar Git para usarla y comenzar a firmar tus commits automáticamente.
Puntos clave
- Firmar commits de Git verifica tu identidad y mejora la confianza en el proyecto
- Configurar la firma de commits con GPG implica generar una clave y configurar Git
- Los commits firmados son especialmente importantes para trabajos de código abierto y empresariales
¿Por qué firmar commits de Git?
- Prueba de autoría: Otros pueden verificar que un commit fue realizado por ti, no por alguien que te esté suplantando.
- Confianza y seguridad: Crucial en repositorios de código abierto, empresariales y sensibles.
- Estándares profesionales: Cada vez más esperado en muchos flujos de trabajo de ingeniería.
Los commits firmados aparecen con una etiqueta de “Verificado” en plataformas como GitHub.
Cómo generar una clave GPG
Primero, comprueba si ya tienes una clave GPG:
gpg --list-secret-keys --keyid-format=long
Si necesitas crear una:
gpg --full-generate-key
Cuando se te solicite:
- Elige la opción predeterminada (RSA y RSA)
- Establece el tamaño de la clave en 4096 bits
- Establece la caducidad (opcional, 1 año es común)
- Introduce tu nombre y correo electrónico (debe coincidir con tu cuenta de GitHub si estás usando GitHub)
Después de la creación, lista tus claves:
gpg --list-secret-keys --keyid-format=long
Encuentra el ID de la clave GPG (una cadena larga) asociada con tu correo electrónico.
Cómo configurar Git para usar tu clave GPG
- Indica a Git que firme los commits automáticamente:
git config --global commit.gpgsign true
- Establece tu clave GPG para Git:
git config --global user.signingkey YOUR_KEY_ID
Reemplaza YOUR_KEY_ID
con el que encontraste anteriormente.
- Asegúrate de que Git use GPG:
git config --global gpg.program gpg
Ahora, todos los nuevos commits que crees serán firmados automáticamente.
Relacionado: Configuración de una plantilla de commit de Git: Una guía paso a paso
Cómo subir tu clave GPG a GitHub
Si quieres la insignia de “Verificado” en GitHub:
- Exporta tu clave pública:
gpg --armor --export YOUR_EMAIL
- Copia toda la salida.
- Ve a GitHub > Configuración > Claves SSH y GPG > Nueva clave GPG.
- Pega tu clave pública y guarda.
Ahora, GitHub puede verificar tus commits firmados.
Solución de problemas de firma
- Solicitudes del agente GPG: Algunos sistemas requieren configuración adicional para almacenar en caché tu frase de contraseña.
- Dirección de correo electrónico incorrecta: El correo electrónico de tu clave GPG debe coincidir con tu correo de GitHub (o estar añadido a tu cuenta de GitHub).
- GPG no encontrado: Asegúrate de que GPG esté instalado (
gpg --version
). Instálalo a través de Homebrew, apt o el gestor de paquetes de tu sistema si es necesario.
Conclusión
Firmar commits de Git con claves GPG fortalece la seguridad e integridad de tu proyecto. Es un pequeño paso adicional que indica profesionalismo y genera confianza con colaboradores, usuarios y la comunidad de desarrolladores en general.
Preguntas frecuentes
Sí. Si no habilitas la firma global, puedes firmar manualmente un commit con `git commit -S`.
Sí. Puedes configurar flujos de trabajo de GitHub Actions para usar una clave GPG para commits o etiquetas firmadas.
No, es opcional. Pero se fomenta cada vez más para proyectos de código abierto y empresariales.