Usar la firma de aplicaciones de Play

Con la firma de aplicaciones de Play, Google gestiona y protege la clave de firma de tu aplicación, y la usa para firmar los APKs de distribución optimizados que se generan a partir de tus app bundles. La firma de aplicaciones de Play almacena la clave de firma de aplicación en la infraestructura segura de Google y ofrece mejoras para aumentar la seguridad.

Para usar la firma de aplicaciones de Play, debes ser propietario de la cuenta o un usuario con el permiso Lanzar a producción, excluir dispositivos y usar la firma de aplicaciones de Play. Además, debes aceptar los Términos del Servicio de la Firma de Aplicaciones de Play.

Cómo funciona

Cuando usas la firma de aplicaciones de Play, tus claves se guardan en la misma infraestructura segura que utiliza Google para almacenar las suyas. Las claves están protegidas por el servicio de gestión de claves de Google. Si quieres consultar más información sobre la infraestructura de Google, lee el informe sobre seguridad de Google Cloud.

Las aplicaciones Android se firman con una clave privada. Para tener la seguridad de que las actualizaciones de las aplicaciones son de fiar, cada clave privada tiene asociado un certificado público que los dispositivos y servicios utilizan para verificar que las actualizaciones proceden de la misma fuente que las aplicaciones correspondientes. Los dispositivos solo aceptan actualizaciones si la firma coincide con la de la aplicación instalada. Si permites que Google gestione tu clave de firma de aplicación, el proceso será más seguro.

Nota: En el caso de las aplicaciones creadas antes de agosto del 2021, puedes subir un APK y gestionar tus propias claves en vez de usar la firma de aplicaciones de Play y publicar con un Android App Bundle. Sin embargo, si pierdes tu almacén de claves o su seguridad se pone en riesgo, no podrás actualizar tu aplicación sin publicar otra nueva con un nombre de paquete diferente. Para estas aplicaciones, Google Play recomienda usar la firma de aplicaciones de Play y cambiar a app bundles.

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

Clave que utiliza Google Play para firmar los APKs que se envían a los dispositivos de los usuarios. Si usas la firma de aplicaciones de Play, podrás subir una clave de firma de aplicación que ya tengas o dejar que Google genere una.

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 tu app bundle 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 la clave de firma de aplicación y la 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, la clave que uses 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, podrás generar una clave de subida diferente para aumentar la seguridad. Si no la generas, 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 el APK. Además, puedes compartirlo con quien quieras, ya que no incluye tu clave privada.

Para registrar tus claves con los 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 (Lanzamiento > Configuración > Firma de aplicaciones) en Play Console. El certificado de clave pública se puede compartir con cualquier persona. 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 subida y de firma de aplicaciones están disponibles en la página Firma de aplicaciones de Play (Lanzamiento > Configuración > Firma de aplicaciones) en 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 (Play Encrypt Private Key)

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 aplicación 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

El proceso es el siguiente:

  1. Firma tu app bundle y súbelo a Play Console.
  2. Google genera APKs optimizados a partir de tu app bundle y, después, los firma con la clave de firma de aplicación.
  3. Google usa apksigner para añadir dos sellos al archivo de manifiesto de tu aplicación (com.android.stamp.source y com.android.stamp.type) y, luego, firma los APKs con la clave de firma de tu aplicación. Los sellos añadidos por apksigner permiten rastrear los APKs para saber quién los ha firmado.
  4. Google entrega los APKs firmados a los usuarios.

Configurar y gestionar la firma de aplicaciones de Play

Si tu aplicación aún no usa la firma de aplicaciones de Play, sigue las instrucciones que se indican a continuación.

Paso 1: Crea una clave de subida

  1. Sigue las instrucciones para crear una clave de subida.
  2. Firma tu app bundle 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, en la sección "Integridad de la aplicación" se mostrará el estado de la firma de aplicaciones de Play correspondiente a tu aplicación.
  3. Para continuar con una clave de firma de aplicación generada por Google, sube tu app bundle. También puedes seleccionar Cambiar clave de firma de aplicación para acceder a estas opciones:
    • Usar una clave de firma de aplicación generada por Google: más del 90 % de las aplicaciones nuevas utilizan claves de firma de aplicación generadas por Google. Si usas una clave generada por Google, te protegerá en caso de pérdidas o riesgos de seguridad (la clave no se puede descargar). Si eliges esta opción, puedes descargar los APKs de distribución del explorador de app bundles firmados con la clave generada por Google para otros canales de distribución, o bien usar una clave diferente en dichos canales.
    • Usar una clave de firma de aplicación diferente: puedes utilizar la misma clave que otra aplicación de tu cuenta de desarrollador o guardar una copia local de la clave para disfrutar de una mayor flexibilidad. Por ejemplo, ya habías decidido usar una clave porque tu aplicación viene preinstalada en algunos dispositivos. Al tener una copia de tu clave fuera de los servidores de Google, el riesgo es mayor si la copia local resulta vulnerada en algún momento. Tienes las siguientes opciones para usar una clave diferente:
  4. Completa el resto de las instrucciones para preparar y lanzar versiones.

Nota: Debes aceptar los Términos del Servicio y habilitar la firma de aplicaciones para continuar.

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

Si tu aplicación utiliza APIs, probablemente tendrás que registrar la clave de firma de tu aplicación con las APIs para autenticarla usando la huella digital del certificado. Sigue estos pasos para encontrar el certificado:

  1. Abre Play Console y ve a la página Firma de aplicaciones de Play (Lanzamiento > Configuración > Firma de aplicaciones).
    • Nota: También puedes acceder a esta página a través de la página Integridad de la aplicación (Lanzamiento > Integridad de la aplicación), que contiene servicios de integridad y firma que te ayudarán a asegurarte de que los usuarios disfruten de tus aplicaciones y juegos de la forma prevista.
  2. Desplázate a la sección "Certificado de la clave de firma de aplicación" y copia las huellas digitales (MD5, SHA-1 y SHA-256) de tu certificado de firma de aplicaciones.
    • Si el proveedor de APIs requiere otro tipo de huella digital, también puedes descargar el certificado original en formato .der y convertirlo usando las herramientas de transformación especificadas por el proveedor de APIs.
Requisitos de la clave de firma de aplicación

Si usas una clave generada por Google, Google generará automáticamente una clave RSA de seguridad criptográfica de 4096 bits. Si decides subir tu propia clave de firma de aplicación, debe ser una clave RSA de al menos 2048 bits.

Instrucciones para aplicaciones creadas antes de agosto del 2021

Paso 1: Configura la firma de aplicaciones de Play

  1. Abre Play Console y ve a la página Firma de aplicaciones de Play (Lanzamiento > Configuración > Firma de aplicaciones).
    • Nota: También puedes acceder a esta página a través de la página Integridad de la aplicación (Lanzamiento > Integridad de la aplicación), que contiene servicios de integridad y firma que te ayudarán a asegurarte de que los usuarios disfruten de tus aplicaciones y juegos de la forma prevista.
  2. Si aún no lo has hecho, revisa los Términos del Servicio de la Firma de Aplicaciones de Play y selecciona Aceptar.

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

  1. Busca tu clave de firma de aplicación original.
  2. Abre Play Console y ve a la página Firma de aplicaciones de Play (Lanzamiento > Configuración > Firma de aplicaciones).
  3. Selecciona la opción de exportación y subida 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 (es opcional, pero te recomendamos que lo hagas)

  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 en los 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

Si publicas actualizaciones de tu aplicación, deberás firmarlas con la clave de subida.

  • Si no has generado una clave de subida nueva: sigue usando tu clave de firma de aplicación original para firmar app bundles antes de subirlos a Google Play. Si pierdes tu clave de firma de aplicación original, 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 app bundles antes de subirlos a Google Play. Google utiliza la clave de subida para verificar tu identidad. Si pierdes la clave de subida, ponte en contacto con el equipo de asistencia para cambiarla.
Actualizar la clave de firma de aplicación para registrarse en la firma de aplicaciones de Play

Te recomendamos que sigas este proceso si no puedes compartir tu clave actual. Antes de actualizar la clave de firma de aplicación para registrarte, ten en cuenta lo siguiente:

  • Esta opción requiere una versión dual.
  • Tendrás que subir un app bundle y un APK firmado con tu clave antigua en cada lanzamiento. Google Play usará tus app bundles para generar APKs firmados con la nueva clave para dispositivos con Android R* (nivel 30 de la API) o versiones posteriores. Tus APKs antiguos se usarán en versiones antiguas de Android (hasta el nivel 29 de la API).

* Si tu aplicación usa sharedUserId, te recomendamos que apliques la actualización de la clave para las descargas y las actualizaciones en dispositivos con Android T (nivel 33 de la API) o versiones posteriores. Para configurarla, especifica una versión mínima precisa del SDK en la configuración del bundle.

Paso 1: Sube la clave nueva y, después, genera y sube una prueba de rotación

Para que la nueva clave se considere de confianza en dispositivos Android, debes subir una clave de firma nueva desde un repositorio, además de generar y subir una prueba de rotación:

  1. Abre Play Console y ve a la página Firma de aplicaciones de Play (Lanzamiento > Configuración > Firma de aplicaciones).
    • Nota: También puedes acceder a esta página a través de la página Integridad de la aplicación (Lanzamiento > Integridad de la aplicación), que contiene servicios de integridad y firma que te ayudarán a asegurarte de que los usuarios disfruten de tus aplicaciones y juegos de la forma prevista.
  2. Selecciona la pestaña Firma de aplicaciones.
  3. Haz clic en Mostrar opciones avanzadas y selecciona Usar una clave de firma de aplicación nueva (esta opción requiere lanzamientos duales en curso).
  4. Elige usar la misma clave de firma de aplicación que otra aplicación de tu cuenta de desarrollador, o subir una nueva clave de firma de aplicación desde Android Studio, Java KeyStore u otro repositorio.
  5. Sigue las instrucciones que aparecen en pantalla para descargar y ejecutar la herramienta PEPK.
  6. Cuando el archivo ZIP esté listo, haz clic en Subir ZIP generado y súbelo a Play Console.
  7. Junto a "5. Sube una prueba de rotación para permitir que la nueva clave se considere de confianza en dispositivos Android", haz clic en Mostrar instrucciones.
  8. Descarga APKSigner y genera una prueba de rotación ejecutando este comando:
    • $ apksigner rotate --out /path/to/new/file --old-signer --ks old-signer-jks --set-rollback true --new-signer --ks new-signer-jks --set-rollback true
  9. Haz clic en Sube el archivo de prueba de rotación generado y sube la prueba de rotación generada en el paso 8.
  10. Haz clic en Guardar.

Crear una clave de subida y actualizar los almacenes de claves

Para aumentar 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 actives la opción de utilizar la firma de aplicaciones de Play. También puedes crear una posteriormente en la página Firma de aplicaciones de Play (Lanzamiento > Configuración > 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 en Google.

Al utilizar una clave de subida:

  • La clave de subida solo se registra en Google para autenticar la identidad del creador de la aplicación.
  • Tu firma se elimina de todos los APKs subidos antes de que se envíen a los usuarios.
Requisitos de la clave de subida
  • Debe ser una clave RSA de al menos 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)

Actualizar tu clave de firma de aplicación

En esta sección se incluyen instrucciones para actualizar la clave de firma de aplicación. Si has perdido tu clave de subida, no es necesario que solicites que se actualice. Consulta la sección Qué hacer si has perdido la clave de subida o si su seguridad se ha puesto en riesgo, que se encuentra en la parte inferior de esta página.

En algunos casos, puedes solicitar la actualización de la clave de firma de aplicación.

A continuación se indican dos motivos por los que solicitar que se actualice la clave de firma de una aplicación:

  • Necesitas una clave con más seguridad criptográfica.
  • La clave de firma de tu aplicación se ha vulnerado.

Importante: Las actualizaciones de claves solo están disponibles para las aplicaciones que usan app bundles.

Antes de solicitar la actualización de una clave en Play Console, consulta la sección Información importante antes de solicitar la actualización de una clave, que aparece más abajo. A continuación, puedes desplegar las demás secciones para obtener más información sobre cómo solicitar la actualización de la clave.

Información importante antes de solicitar la actualización de una clave

Antes de solicitar la actualización de una clave, es importante saber qué cambios tendrás que hacer una vez que se complete.

  • Si usas la misma clave de firma en varias aplicaciones o compartes código o datos entre ellas, tendrás que actualizar las aplicaciones para que reconozcan los certificados tanto de la clave de firma de aplicación antigua como de la nueva. En los dispositivos con Android S (nivel 32 de la API) o versiones anteriores, la plataforma Android solo reconoce el certificado de la clave de firma de aplicación antigua para compartir datos y código.
  • Si tu aplicación utiliza APIs, registra los certificados de la clave de firma de aplicación nueva y de la antigua en los proveedores de las APIs antes de publicar una actualización. Así, te asegurarás de que las APIs sigan funcionando. Puedes acceder a los certificados en la página Firma de aplicaciones de Play (Lanzamiento > Configuración > Firma de aplicaciones) de Play Console.  
  • Si alguno de tus usuarios instala actualizaciones de la aplicación mediante un intercambio de punto a punto, solo podrá instalar actualizaciones firmadas con la misma clave que la versión de tu aplicación que tenga instalada. Si no puede actualizar la aplicación porque tiene una versión de tu aplicación firmada con otra clave, podrá desinstalar la aplicación y volver a instalarla para recibir la actualización.
Solicitar la actualización de la clave para todas las descargas en Android N (nivel 24 de la API) y versiones posteriores

La clave de firma de cada aplicación puede actualizarse para todas las descargas en Android N (nivel 24 de la API) y versiones posteriores una vez al año.

Si solicitas que se actualice, tu nueva clave se usará para firmar todas las descargas y actualizaciones de la aplicación. En los dispositivos con Android T (nivel 33 de la API) y versiones posteriores, la plataforma Android requiere el uso de la clave actualizada. En los dispositivos con Android S (nivel 32 de la API) o versiones anteriores, la plataforma Android no requiere el uso de esta clave actualizada y sigue reconociendo la clave antigua como clave de firma de la aplicación. Esto también incluye cualquier función de la plataforma Android (por ejemplo, el uso compartido de permisos personalizado) que dependa de la clave de firma de la aplicación. En dispositivos con versiones entre Android N (nivel 24 de la API) y Android S (nivel 32 de la API), Google Play Protect comprobará que las actualizaciones de las aplicaciones estén firmadas con tu clave actualizada, a menos que el usuario las desactive. Esto ofrece un método de validación adicional, ya que la plataforma Android no requiere el uso de la clave actualizada en dispositivos con Android S (nivel 32 de la API) o versiones anteriores.

  1. Abre Play Console y ve a la página Firma de aplicaciones de Play (Lanzamiento > Configuración > Firma de aplicaciones).
    • Nota: También puedes acceder a esta página a través de la página Integridad de la aplicación (Lanzamiento > Integridad de la aplicación), que contiene servicios de integridad y firma que te ayudarán a asegurarte de que los usuarios disfruten de tus aplicaciones y juegos de la forma prevista.
  2. En la tarjeta "Actualizar tu clave de firma de aplicación", selecciona Solicitar actualización de la clave.
  3. Selecciona una opción para actualizar tu clave de firma de aplicación en todas las descargas en Android N y versiones posteriores.
  4. Pide a Google que genere una nueva clave de firma de aplicación (recomendado) o sube una.
    • Después de actualizar la clave de firma de aplicación, si la usabas como clave de firma y de subida, podrás seguir usando la antigua como clave de subida o generar otra nueva.
  5. Selecciona un motivo para solicitar la actualización de la clave de firma de aplicación.
  6. Si es necesario, registra tu nueva clave de firma de aplicación en los proveedores de APIs.

Nota: Si distribuyes tu aplicación en varios canales de distribución y quieres maximizar la compatibilidad de las actualizaciones de aplicaciones de cara a tus usuarios, debes actualizar tu clave en cada canal. Para poder utilizar la actualización de claves de Google Play, usa la herramienta ApkSigner, incluida en las herramientas de compilación del SDK para Android (revisión 33.0.1 y posteriores):

$ apksigner sign --in ${INPUT_APK}

--out ${OUTPUT_APK}

--ks ${ORIGINAL_KEYSTORE}

--ks-key-alias ${ORIGINAL_KEY_ALIAS}

--next-signer --ks ${UPGRADED_KEYSTORE}

--ks-key-alias ${UPGRADED_KEY_ALIAS}

--lineage ${LINEAGE}

 Más información sobre cómo funcionan las actualizaciones de aplicaciones

Prácticas recomendadas

  • Si también distribuyes tu aplicación fuera de Google Play (o piensas hacerlo) y quieres utilizar la misma clave de firma, tienes dos opciones: 
    • Dejar que Google genere la clave (recomendado) y, a continuación, descargar un APK universal firmado desde el explorador de app bundles para distribuirlo fuera de Google Play.
    • La segunda opción es generar la clave de firma de aplicación que quieras utilizar en todas las tiendas de aplicaciones y, a continuación, transferir una copia a Google cuando configures la firma de aplicaciones de Play.
  • Para proteger tu cuenta, activa la verificación en dos pasos en todas las cuentas con acceso a Play Console.
  • Después de publicar un app bundle en un canal de lanzamiento, puedes ir al explorador de app bundles para acceder a los APKs instalables que genera Google a partir de tu app bundle. Puedes hacer lo siguiente:
    • Copiar y distribuir un enlace para compartir aplicaciones de forma interna que te permita probar con un solo toque lo que instalaría Google Play en distintos dispositivos a partir de tu app bundle.
    • Descargar un archivo APK firmado y universal. Este APK único está firmado con la clave de firma de aplicación que tiene Google y se puede instalar en cualquier dispositivo que sea compatible con tu aplicación.
    • Descargar un archivo ZIP con todos los APKs para un dispositivo específico. Estos APKs están firmados con la clave de firma de aplicación que tiene Google. Además, puedes instalarlos en el archivo ZIP de un dispositivo con el comando adb install-multiple *.apk.
  • Para reforzar la seguridad, genera una clave de subida diferente a tu clave de firma de aplicación.
  • Si usas alguna API de Google, es recomendable que registres los certificados de la clave de subida y de la clave de firma de aplicación en la consola de Google Cloud de tu aplicación.
  • Si usas Android App Links, actualiza las claves en el archivo JSON de Digital Asset Links correspondiente de tu sitio web.

Qué hacer si has perdido la clave de subida o si su seguridad se ha puesto en riesgo

Si has perdido tu clave de subida privada o su seguridad se ha puesto en riesgo, puedes crear otra. Después, el propietario de tu cuenta de desarrollador podrá iniciar el cambio de clave en Play Console.

Una vez que nuestro equipo de Asistencia haya registrado la nueva clave de subida, el propietario de la cuenta y los administradores globales recibirán un mensaje en la bandeja de entrada y un correo con más información. Entonces, podrás actualizar tus almacenes de claves y registrar la tuya en los proveedores de APIs.

El propietario de la cuenta también puede cancelar la solicitud de cambio en Play Console.

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 APKs antes de enviarlos a los usuarios.

Versión 4 del esquema de firma de APKs

Los dispositivos con Android 11 y versiones posteriores admiten la nueva versión 4 del esquema de firma de APKs. La firma de aplicaciones de Play usa la versión 4 de la firma en las aplicaciones que cumplen los requisitos para que puedan acceder a las funciones de distribución optimizadas disponibles en los dispositivos más recientes. No hace falta que los desarrolladores hagan nada, y no se espera que los usuarios se vean afectados por la versión 4 de la firma.

Contenido relacionado

¿Te ha resultado útil esta información?

¿Cómo podemos mejorar esta página?
Búsqueda
Borrar búsqueda
Cerrar búsqueda
Aplicaciones de Google
Menú principal