Utilizar la firma de aplicaciones de Google Play

Con la firma de aplicaciones de Google Play, Google gestiona y protege la clave de firma de tu aplicación y la utiliza para firmar los APK que distribuyes. Es una forma segura de almacenar la clave de firma de aplicación y de protegerla en caso de que se pierda o de que su seguridad se ponga en riesgo.

Importante: Para utilizar Android App Bundle, el formato de publicación de aplicaciones recomendado, debes registrarte en la firma de aplicaciones de Google Play antes de subir tu app bundle en Play Console.

Para registrarte, debes ser propietario de la cuenta o tener el permiso "Administrar las versiones del canal de producción" y debes aceptar las condiciones del servicio. Puedes registrar las aplicaciones de una en una en la firma de aplicaciones de Google Play.

Cómo funciona

Cuando utilizas la firma de aplicaciones de Google Play, las claves se almacenan en la misma infraestructura que utiliza Google para almacenar las suyas. Las claves están protegidas por el servicio de gestión de claves de Google (Cloud KMS). Si quieres consultar información sobre la infraestructura técnica de Google, lee los informes de seguridad de Google Cloud.

Las aplicaciones de Android se firman con una clave privada. Cada una de estas claves tiene asociado un certificado público que los dispositivos y servicios utilizan para verificar que las aplicaciones proceden de fuentes de confianza. Los dispositivos solo aceptan actualizaciones si la firma coincide con la de la aplicación instalada. Al permitir que Google gestione tu clave de firma de aplicación, el proceso es más seguro.

Nota: Utilizar la firma de aplicaciones de Google Play es opcional, por lo que puedes subir un APK y gestionar tus claves en lugar de usar un app bundle. No obstante, si pierdes tu almacén de claves o su seguridad se pone en riesgo, no podrás actualizar tu aplicación sin publicar otra con un nombre de paquete diferente.

Descripciones de claves, artefactos y herramientas
Término Descripción
Clave de firma de aplicación

Clave que utiliza Google Play para firmar los APK que se envían a los dispositivos de los usuarios. Si habilitas la firma de aplicaciones de Google Play, podrás subir tu propia clave de firma de aplicación o permitir que Google Play genere una automáticamente.

La clave de firma de aplicación no podrá modificarse mientras tu aplicación esté publicada. Debes mantener esta clave en secreto, pero puedes compartir el certificado público de la aplicación.

Clave de subida

Clave que utilizas para firmar el app bundle o APK antes de subirlo a Google Play. La clave de subida debe mantenerse en secreto, pero puedes compartir el certificado público de la aplicación. Por motivos de seguridad, es recomendable que las claves de firma de aplicación y las de subida sean diferentes.

Hay dos formas de generar una clave de subida:

  • Con tu clave de firma de aplicación: si eliges que Google genere una clave de firma de aplicación automáticamente al habilitar la firma de aplicaciones, la clave que utilices en tu primera versión será también la clave de subida.
  • Con una clave de subida diferente: si proporcionas tu propia clave de firma de aplicación cuando habilites la firma de aplicaciones, podrás generar una clave de subida diferente para aumentar la seguridad. Si no generas ninguna, utiliza la clave de firma de aplicación como clave de subida para firmar versiones.
Certificado (.der o .pem)

Un certificado incluye una clave pública e información de identificación adicional sobre el propietario de la clave. El certificado de clave pública permite que cualquiera compruebe quién ha firmado el app bundle o APK. Además, puedes compartirlo con quien quieras, ya que no incluye tu clave privada.

Para registrar tus claves con proveedores de APIs, puedes descargar el certificado público de tu clave de firma de aplicación y tu clave de subida desde la página Firma de aplicaciones de Play Console. Puedes compartir el certificado de clave pública con quien quieras, ya que no incluye tu clave privada.

Huella digital de certificado

Representación única y breve del certificado que suelen solicitar los proveedores de APIs con el nombre del paquete para registrar una aplicación y usar sus servicios.

Las huellas digitales MD5, SHA‑1 y SHA‑256 de los certificados de la clave de subida y de la firma de aplicaciones están disponibles en la página Firma de aplicaciones de Play Console. Se pueden conseguir otras huellas digitales descargando el certificado original (.der) en esa misma página.

Almacén de claves de Java (.jks o .keystore) Repositorio de certificados de seguridad y claves privadas.
Herramienta PEPK

Una herramienta que permite exportar claves privadas desde un almacén de claves de Java y cifrarlas para transferirlas a Google Play.

Si proporcionas a Google la clave de firma de aplicaciones para que la utilice, selecciona la opción para exportar y subir tu clave (y su certificado público si es necesario) y sigue las instrucciones para descargar y usar la herramienta. Si lo prefieres, puedes descargar, revisar y utilizar el código abierto de la herramienta PEPK.

Proceso de firma de aplicaciones

Puedes subir APK firmados con la clave de firma de aplicación original antes o después de habilitar la firma de aplicaciones de Google Play.

Si estás empezando a utilizar Android App Bundles, puedes probarlos en los canales de pruebas mientras utilizas el APK de producción. El proceso es el siguiente:

  1. Firma tu app bundle o tu APK y súbelo a tu cuenta de Play Console.
  2. Según lo que subas, el proceso de firma varía:
    • App bundle: Google genera APK optimizados a partir de tu app bundle y los firma con la clave de firma de aplicación.
    • APK firmado con la clave de subida: Google verifica y elimina tu firma del APK y, a continuación, vuelve a firmarlo con la clave de firma de aplicación.
    • APK firmado con la clave de firma de aplicación: Google verifica la firma.
  3. Cuando se publica la aplicación, los usuarios la ven con los APKs ya firmados.

Habilitar la firma de aplicaciones de Google Play

Aplicaciones nuevas

Paso 1: Crea una clave de subida

  1. Sigue las instrucciones para crear una clave de subida.
  2. Firma el nuevo APK con la clave de subida.

Paso 2: Prepara tu versión

  1. Sigue las instrucciones para preparar y lanzar versiones.
  2. Una vez que hayas seleccionado el canal de lanzamiento, configura la firma de aplicaciones en la sección "Deja que Google gestione y proteja tu clave de firma de aplicación".
  3. Selecciona Seguir para que la clave que se ha generado sea tu clave de subida en las próximas versiones, o selecciona Opciones avanzadas para elegir una de las siguientes:
    • Utilizar la misma clave que otra aplicación de tu cuenta de desarrollador (opción 2).
    • Subir una clave de firma de aplicación que ya tengas (opción 2, 3 y 4) y elegir la opción de subida y exportación que mejor se adapte a ti. Después de subir la clave de firma de aplicación y su certificado público, puedes crear una clave de subida o seguir usando la clave de firma de aplicación como clave de subida.

Nota: Debes aceptar las condiciones del servicio y habilitar la firma de aplicaciones para continuar.

Paso 3: Registra tu clave de firma de aplicación con proveedores de APIs

Si tu aplicación utiliza APIs, probablemente tendrás que registrar el certificado de la clave que, por motivos de autenticación, Google utiliza para firmar tu aplicación. Para registrarlo, tendrás que usar la huella digital del certificado. Sigue estos pasos para encontrarlo:

  1. Inicia sesión en Play Console.
  2. Selecciona una aplicación.
  3. En el menú de la izquierda, selecciona Gestión de versiones > Firma de aplicaciones.
  4. Copia las huellas digitales (MD5, SHA‑1 y SHA‑256) de tu certificado de firma de aplicaciones.
    • Si el proveedor de APIs requiere un tipo diferente de huella, también puedes descargar el certificado original en formato .der y convertirlo con las herramientas especificadas por el proveedor de APIs.
Aplicaciones ya publicadas

Paso 1: Regístrate en la firma de aplicaciones de Google Play

  1. Inicia sesión en Play Console.
  2. Selecciona una aplicación.
  3. En el menú de la izquierda, selecciona Gestión de versiones > Firma de aplicaciones.
  4. Revisa las condiciones del servicio y selecciona Aceptar si no lo has hecho aún.

Paso 2: Envía tu clave original a Google y crea una clave de subida

  1. Busca tu clave de firma de aplicación original.
  2. Inicia sesión en Play Console.
  3. Selecciona una aplicación.
  4. En el menú de la izquierda, selecciona Gestión de versiones > Firma de aplicaciones.
  5. Selecciona la opción de subida y exportación que mejor se adapte a tu proceso de lanzamiento y sube una clave de firma de aplicación que ya tengas.

Paso 3: Crea una clave de subida (opcional y recomendado)

  1. Crea una clave de subida y sube el certificado a Google Play.
    • Si quieres, puedes seguir utilizando la clave de firma de aplicación como clave de subida.
  2. Copia las huellas digitales (MD5, SHA‑1 y SHA‑256) de tu certificado de firma de aplicaciones.
    • Para hacer pruebas, es posible que tengas que registrar el certificado de tu clave de subida con proveedores de APIs usando la huella digital del certificado y la clave de firma de aplicación.

Paso 4: Firma la próxima actualización de tu aplicación con la clave de subida

Cuando publicas actualizaciones de tu aplicación, tienes que firmarlas con la clave de subida.

  • Si no has generado una clave de subida diferente: sigue usando tu clave de firma de aplicación original para firmar versiones antes de subirlas a Google Play. Si pierdes tu clave de firma de aplicación, puedes generar una clave de subida diferente y registrarla en Google para poder seguir actualizando tu aplicación.
  • Si has generado una clave de subida diferente: úsala para firmar versiones antes de subirlas a Google Play. Una vez que las subes, Google busca la clave de subida de cada una para verificar tu identidad. Si pierdes la clave de subida, ponte en contacto con el equipo de asistencia para cambiarla.

Crear una clave de subida y actualizar los almacenes de claves

Para mejorar la seguridad, es recomendable que firmes tu aplicación con una clave de subida nueva en lugar de con la clave de firma de aplicación.

Puedes crear una clave de subida cuando habilites la firma de aplicaciones de Google Play o crear una más adelante en Gestión de versiones > Firma de aplicaciones.

Sigue estos pasos para crear una clave de subida:

  1. Sigue las instrucciones del sitio web para desarrolladores de Android. Guarda la clave en un lugar seguro.
  2. Exporta el certificado de la clave de subida a formato PEM. Reemplaza los siguientes argumentos subrayados:
    • $ keytool -export -rfc -keystore upload-keystore.jks -alias upload -file upload_certificate.pem
  3. Cuando se te solicite durante el proceso de lanzamiento, sube el certificado para registrarlo con Google.

Al utilizar una clave de subida:

  • La clave de subida solo se registra con Google para autenticar la identidad del creador de la aplicación.
  • La firma se elimina de todos los APK subidos antes de que se envíen a los usuarios.
Restricciones de la clave de subida
  • Debe ser una clave RSA de al menos 2048 bits.
  • No se admiten claves DSA, claves ECC ni claves RSA de menos de 2048 bits.
Actualizar los almacenes de claves

Una vez que hayas creado la clave de subida, revisa y actualiza ubicaciones como:

  • Equipos locales
  • Servidor físico bloqueado (las listas de control de acceso varían)
  • Equipo en la nube (las listas de control de acceso varían)
  • Servicios específicos para gestionar secretos
  • Repositorios (Git)

Prácticas recomendadas

  • Si también distribuyes tu aplicación fuera de Google Play o tienes pensado hacerlo, puedes generar la clave de firma de aplicación que quieras utilizar en todas las tiendas de aplicaciones y, a continuación, subirla a Google cuando habilites la firma de aplicaciones de Google Play.
  • Para proteger tu cuenta, activa la verificación en dos pasos en todas tus cuentas con acceso a Play Console.
  • Tras publicar un app bundle en un canal de pruebas o de producción, puedes acceder al explorador de app bundles para descargar un archivo ZIP con todos los APK de un dispositivo específico. Estos APK están firmados con la clave de firma de aplicación y puedes instalarlos en el archivo ZIP de un dispositivo mediante la herramienta de línea de comando bundletool.
  • Para mejorar la seguridad, genera una clave de subida diferente a tu clave de firma de aplicación.
  • Si quieres probar el APK firmado con la clave de subida, debes registrar dicha clave en cualquier servicio o API que utilice la firma de tu aplicación para realizar el proceso de autenticación (como la API de Google Maps o el SDK de Facebook).
  • Si utilizas alguna API de Google, registra el certificado de subida en la consola de Google Cloud de tu aplicación.

Pérdida o riesgo de seguridad de las claves de subida

Si has perdido tu clave de subida privada o su seguridad se ha puesto en riesgo, puedes crear otra y, a continuación, pedirle al propietario de la cuenta que se ponga en contacto con el equipo de asistencia para cambiarla. Cuando lo haga, deberá adjuntar el archivo upload_certificate.pem.

Cuando el equipo de asistencia haya registrado la clave de subida, recibirás un correo electrónico. A continuación, podrás actualizar los almacenes de claves y registrar la clave con proveedores de APIs.

Importante: Cambiar tu clave de subida no afecta a la clave de firma de aplicación que Google Play utiliza para volver a firmar los APK antes de enviarlos a los usuarios.

¿Te ha sido útil este artículo?
¿Cómo podemos mejorar esta página?