Skip to main content
We publish frequent updates to our documentation, and translation of this page may still be in progress. For the most current information, please visit the English documentation.

Acerca de la verificación de firma de confirmación

Con GPG, SSH, o S/MIME, puedes firmar etiquetas y confirmaciones localmente. Estas etiquetas o confirmaciones se marcan como verificadas en GitHub Enterprise Cloud para que otras personas tengan la confianza de que los cambios vienen de una fuente confiable.

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 Cloud la marcará como "Verificada" o "Parcialmente verificada".

Confirmación 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 Cloud 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 Cloud 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.

Las confirmaciones y etiquetas tienen los siguientes estados de comprobación, en función de si ha habilitado el modo de vigilancia. Predeterminadamente, el modo vigilante no está habilitado. Para obtener información sobre cómo habilitar el modo de vigilancia, vea "Representación de los estados de comprobación para todas las confirmaciones".

La firma de confirmaciones difiere de la aprobación de confirmaciones. Para obtener más información sobre la aprobación de confirmaciones, consulta "Administración de la directiva de aprobación de confirmaciones para el repositorio".

Estados predeterminados

EstadoDescripción
VerifiedLa confirmación se firmó y la firma se verificó con éxito.
Sin verificarLa confirmación se firmó pero la firma no pudo verificarse.
Sin estado de verificaciónLa confirmación no se firmó.

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 más información, consulta "Fusión mediante cambio de base y combinación de las confirmaciones".

Estados con modo vigilante habilitado

EstadoDescripción
VerifiedLa confirmación está firmada, la firma se verificó con éxito y el confirmante es el único autor que ha habilitado el modo vigilante.
Partially verifiedLa confirmación se firmó y la firma se verificó con éxito, pero la confirmación tiene un autor que: a) no es el confirmante y b) habilitó el modo vigilante. En este caso, la firma de confirmación no garantiza un consentimiento del autor, así que la confirmación se verifica solo parcialmente.
UnverifiedCualquiera de las siguientes afirmaciones es verdadera:
- La confirmación se ha firmado pero la firma no se ha podido verificar.
- La confirmación no está firmada y el confirmante ha habilitado el modo vigilante.
- La confirmación no está firmada y un autor ha habilitado el modo vigilante.

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 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 Cloud y ver por qué las firmas de tu confirmación podrían no ser verificadas. Para más información, vea "Comprobación del estado de comprobación de firma de confirmación y etiquetas".

GitHub usará GPG automáticamente para firmar confirmaciones que realices con la interfaz web. Las confirmaciones firmadas por GitHub tendrán un estado comprobado. Puede comprobar la firma localmente mediante la clave pública disponible en https://github.com/web-flow.gpg. La huella digital completa de la clave es 5DE3 E050 9C47 EA3C F04A 42D3 4AEE 18F8 3AFD EB23.

Opcionalmente, puedes elegir que GitHub GPG firme las confirmaciones que realices en GitHub Codespaces. Para más información sobre cómo habilitar la comprobación de GPG para los codespaces, consulta "Administración de la comprobación de GPG para GitHub Codespaces".

Verificación de firma de confirmación GPG

Puedes usar GPG para firmar confirmaciones con una clave GPG que generas tu mismo.

GitHub Enterprise Cloud 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 GitHub.com.

Para firmar confirmaciones usando GPG y que esas confirmaciones sean verificadas en GitHub Enterprise Cloud, sigue estos pasos:

  1. Comprobación de las claves de GPG existentes
  2. Generación de una nueva clave SSH
  3. Incorporación de una clave de GPG a la cuenta de GitHub
  4. Notificación de la clave de firma a Git
  5. Firma de confirmaciones
  6. 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 Cloud, 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 Cloud 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 GitHub.com.

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 Cloud, sigue estos pasos:

  1. Comprobar las claves SSH existentes
  2. Generación de una nueva clave SSH
  3. Agregar una clave de firma SSH a la cuenta de GitHub
  4. Notificación de la clave de firma a Git
  5. Firma de confirmaciones
  6. 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 Cloud 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 Cloud, sigue estos pasos:

  1. Notificación de la clave de firma a Git
  2. Firma de confirmaciones
  3. Firma de etiquetas

No es necesario cargar tu clave pública a GitHub Enterprise Cloud.

Verificación de firma para bots

Las organizaciones y GitHub Apps que requieren de la firma de confirmación pueden usar bots para firmar las confirmaciones. Si una confirmación o etiqueta tienen una firma de bot que es criptográficamente comprobable, GitHub Enterprise Cloud marca la confirmación o etiqueta como verificada.

La verificación de firma para bots solo funcionará si la solicitud se verifica y se autentica como la GitHub App o el bot y no contiene información de autor personalizada, información de persona que confirma el cambio personalizada ni información de firma personalizada, como API de confirmaciones.

Información adicional