Saltar al contenido

Firma de código en Linux

Esta guía proporciona información sobre la firma de código para paquetes Linux. Aunque la firma de artefactos no es requerida para que tu aplicación sea desplegada en Linux, se puede utilizar para aumentar la confianza en tu aplicación desplegada. Firmar los binarios permite a tus usuarios finales verificar que estos son auténticos y no han sido modificados por otra entidad no confiable.

La AppImage se puede firmar usando gpg o gpg2.

Se debe preparar una clave para la firma. Se puede generar una nueva usando:

Ventana de terminal
gpg2 --full-gen-key

Consulta la documentación de gpg o gpg2 para obtener información adicional. Debes tener especial cuidado en hacer una copia de seguridad de tus claves privada y pública en una ubicación segura.

Puedes incrustar una firma en la AppImage configurando las siguientes variables de entorno:

  • SIGN: establece en 1 para firmar la AppImage.
  • SIGN_KEY: variable opcional para usar un ID de clave GPG específico para la firma.
  • APPIMAGETOOL_SIGN_PASSPHRASE: la contraseña de la clave de firma. Si no está configurada, gpg muestra un diálogo para que la introduzcas. Debes configurarla cuando construyas en plataformas CI/CD.
  • APPIMAGETOOL_FORCE_SIGN: por defecto, la AppImage se genera incluso si la firma falla. Para salir en caso de errores, puedes establecer esta variable en 1.

Puedes mostrar la firma incrustada en la AppImage ejecutando el siguiente comando:

Ventana de terminal
./src-tauri/target/release/bundle/appimage/$APPNAME_$VERSION_amd64.AppImage --appimage-signature

Ten en cuenta que debes cambiar los valores $APPNAME y $VERSION por los correctos según tu configuración.

La herramienta de validación de AppImage se puede descargar desde aquí. Selecciona uno de los archivos validate-$PLATFORM.AppImage.

Ejecuta el siguiente comando para validar la firma:

Ventana de terminal
chmod +x validate-$PLATFORM.AppImage
./validate-$PLATFORM.AppImage $TAURI_OUTPUT.AppImage

Si la firma es válida, la salida será:

Validation result: validation successful
Signatures found with key fingerprints: $KEY_ID
====================
Validator report:
Signature checked for key with fingerprint $KEY_ID:
Validation successful

© 2026 Colaboradores de Tauri. CC-BY / MIT