Acerca de la verificación de firma de confirmación
Puedes firmar confirmaciones y etiquetas localmente para darles a otras personas la confianza necesaria sobre el origen de un cambio que hayas realizado. Si una confirmación o etiqueta tiene una firma GPG, SSH o S/MIME que se pueda verificar de forma criptográfica, GitHub Enterprise Server la marcará como "Verificada".
Si una confirmación o etiqueta tiene una firma que no se puede verificar, GitHub Enterprise Server la marcará como "No verificada".
Para la mayoría de los usuarios individuales, GPG o SSH serán la mejor opción para firmar confirmaciones. Las firmas S/MIME suelen ser necesarias en el contexto de una organización de mayor tamaño. Las firmas SSH son las más sencillas de generar. Incluso puedes cargar la clave de autenticación existente en GitHub Enterprise Server para que también se use como clave de firma. La generación de una clave de firma GPG es más complicado que una de tipo SSH, pero GPG tiene características que SSH no posee. Una clave GPG puede expirar o revocarse cuando ya no se use. GitHub Enterprise Server muestra confirmaciones firmadas con dicha clave como "Verificada", a menos que la clave se haya marcado como en peligro. Las claves SSH no tienen esta capacidad.
Comprobación de firma para fusión mediante cambio de base y combinación
Al usar la opción Fusionar mediante cambio de base y combinar en una solicitud de incorporación de cambios, es importante tener en cuenta que las confirmaciones de la rama principal se agregan a la rama base sin confirmar la comprobación de la firma. Al usar esta opción, GitHub crea una confirmación modificada con los datos y el contenido de la confirmación original. Esto significa que GitHub no creó realmente esta confirmación y, por tanto, no puede firmarla como un usuario genérico del sistema. GitHub no tiene acceso a las claves de firma privada del confirmador, por lo que no puede firmar la confirmación en nombre del usuario.
Una solución para esta incidencia consiste en fusionar mediante cambio de base y combinar localmente y, luego, insertar los cambios en la rama base de la solicitud de incorporación de cambios.
Para obtener más información, vea «Acerca de los métodos de fusión en GitHub».
Los administradores de repositorios pueden implementar la firma de confirmación requerida en una rama para bloquear todas las confirmaciones que no estén firmadas y verificadas. Para obtener más información, vea «Acerca de las ramas protegidas».
Puedes comprobar el estado de verificación de tus confirmaciones o etiquetas firmadas en GitHub Enterprise Server y ver por qué las firmas de tu confirmación podrían no ser verificadas. Para obtener más información, vea «Comprobar el estado de verificación de firma de la confirmación y de la etiqueta».
Si un administrador de sitio ha habilitado la firma de confirmación web, GitHub Enterprise Server usará GPG automáticamente para firmar confirmaciones realizadas con la interfaz web. Las confirmaciones firmadas por GitHub Enterprise Server tendrán un estado comprobado. Puede comprobar la firma localmente mediante la clave pública disponible en https://HOSTNAME/web-flow.gpg
. Para obtener más información, vea «Configuración de la firma de confirmación web».
Verificación de firma de confirmación GPG
Puedes usar GPG para firmar confirmaciones con una clave GPG que generas tu mismo.
GitHub Enterprise Server utiliza librerías de OpenPGP para confirmar que tus confirmaciones y etiquetas firmadas localmente pueden verificarse mediante criptografía con una clave pública que hayas agregado a tu cuenta de tu instancia de GitHub Enterprise Server.
Para firmar confirmaciones usando GPG y que esas confirmaciones sean verificadas en GitHub Enterprise Server, sigue estos pasos:
- Comprobación de las claves de GPG existentes
- Generación de una nueva clave SSH
- Incorporación de una clave de GPG a la cuenta de GitHub
- Notificación de la clave de firma a Git
- Firma de confirmaciones
- Firma de etiquetas
Verificación de firma de confirmación SSH
Puedes usar SSH para firmar confirmaciones con una clave SSH que generes por tu cuenta. Para más información, consulta la documentación de referencia de Git para user.Signingkey
. Si ya usas una clave SSH para autenticarte con GitHub Enterprise Server, también puedes volver a cargar esa misma clave para usarla como clave de firma. No hay ningún límite en el número de claves de firma que puedes agregar a tu cuenta.
GitHub Enterprise Server utiliza ssh_data, una biblioteca Ruby de código abierto, para confirmar que tus confirmaciones y etiquetas firmadas localmente pueden verificarse mediante criptografía con una clave pública que hayas agregado a tu cuenta de tu instancia de GitHub Enterprise Server.
Nota: La comprobación de la firma SSH está disponible en Git 2.34 o posterior. Para actualizar la versión de Git, vea el sitio web de Git.
Para firmar confirmaciones con SSH y que esas confirmaciones sean verificadas en GitHub Enterprise Server, sigue estos pasos:
- Comprobar las claves SSH existentes
- Generación de una nueva clave SSH
- Agregar una clave de firma SSH a la cuenta de GitHub
- Notificación de la clave de firma a Git
- Firma de confirmaciones
- Firma de etiquetas
Verificación de firma de confirmación S/MIME
Puedes usar S/MIME para firmar confirmaciones con una clave X.509 emitida por tu organización.
En GitHub Enterprise Server se usa el paquete ca-certificates de Debian, el mismo almacén de confianza que usan los exploradores Mozilla, para confirmar que las confirmaciones y etiquetas firmadas localmente se pueden verificar criptográficamente con una clave pública en un certificado raíz de confianza.
Nota: La comprobación de la firma S/MIME está disponible en Git 2.19 o posterior. Para actualizar la versión de Git, vea el sitio web de Git.
Para firmar confirmaciones usando S/MIME y que esas confirmaciones sean verificadas en GitHub Enterprise Server, sigue estos pasos:
No es necesario cargar tu clave pública a GitHub Enterprise Server.