Usa la firma de apps de Play

Con la firma de apps de Play, Google administra y protege la clave de firma de tu app, y la utiliza para firmar los APK de distribución optimizados que se generan a partir de tus paquetes de aplicaciones. La firma de apps de Play almacena la clave de firma de la app en la infraestructura segura de Google y ofrece opciones de actualización para aumentar la seguridad.

Para usar la firma de apps de Play, debes ser propietario de una cuenta o un usuario con el permiso Lanzar a producción, excluir dispositivos y usar la firma de apps de Play, y aceptar las Condiciones del Servicio de la Firma de Apps de Play.

Cómo funciona

Cuando usas la firma de apps de Play, las claves se almacenan en la misma infraestructura segura que usa Google para guardar sus propias claves. Las claves se protegen con el servicio de administración de claves de Google. Si quieres obtener más información acerca de la infraestructura de Google, consulta el Informe de seguridad de Google Cloud.

Las apps para Android se firman con una clave privada. Para garantizar que las actualizaciones sean confiables, cada clave privada tiene un certificado público asociado que los dispositivos y servicios usan para verificar si esas actualizaciones provienen del mismo origen que las apps. Los dispositivos solo aceptan actualizaciones cuando la firma coincide con la firma de la app instalada. Si permites que Google administre la clave de firma de tu app, el proceso será más seguro.

Nota: En el caso de las apps creadas antes de agosto de 2021, todavía puedes subir un APK y administrar tus propias claves en lugar de usar la firma de apps de Play y publicar con un Android App Bundle. Sin embargo, si pierdes tu almacén de claves o este se ve comprometido, no podrás actualizar la app sin publicar una nueva con otro nombre de paquete. En el caso de estas apps, Play recomienda usar la firma de apps de Play y optar por paquetes de aplicaciones.

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

Es la clave que usa Google Play para firmar los APK que se implementan en el dispositivo de un usuario. Cuando usas la firma de apps de Play, puedes subir una clave de firma existente o pedirle a Google que genere una.

Debes mantener la clave de firma de tu app en secreto, pero puedes compartir el certificado público con otras personas.

Clave de carga

Es la clave que usas para firmar el paquete de aplicación antes de subirlo a Google Play. Debes mantenerla en secreto, pero puedes compartir el certificado público de la app con otras personas. Por motivos de seguridad, te recomendamos que la clave de firma de la app y la clave de carga sean distintas.

Existen dos formas de generar una clave de carga:

  • Usar la clave de firma de tu app: Si le pides a Google que genere una clave de firma, la clave que uses para la primera versión también será tu clave de carga.
  • Usar una clave de carga distinta: Si proporcionas tu propia clave de firma de la app, tendrás la opción de generar una clave de carga nueva para aumentar la seguridad. Si no generas una nueva, usarás la clave de firma de tu app como clave de carga para firmar las versiones.
Certificado (.der o .pem)

Contiene una clave pública, así como información de identificación adicional sobre el propietario de la clave. El certificado de clave pública permite que cualquier persona verifique quién firmó el paquete de aplicación o APK, y puedes compartirlo con quien quieras porque no incluye tu clave privada.

Para registrar tus claves con los proveedores de API, puedes descargar el certificado público de la clave de firma de la app y tu clave de carga desde la página Firma de apps de Play (Versión > Configuración > Firma de apps) en Play Console. Puedes compartir el certificado de clave pública con quien quieras; este no incluye tu clave privada.

Huella digital del certificado

Es una representación corta y única de un certificado que suelen solicitar los proveedores de API junto con el nombre del paquete para registrar una aplicación que usará su servicio.

Puedes encontrar las huellas digitales MD5, SHA-1 y SHA-256 de los certificados de carga y firma de apps en la página Firma de apps de Play (Versión > Configuración > Firma de apps) de Play Console. Para procesar otras huellas digitales, descarga el certificado original (.der) de la misma página.

Almacén de claves Java (.jks o .keystore) Un repositorio de certificados de seguridad y claves privadas.
Herramienta Play Encrypt Private Key (PEPK)

Herramienta que se utiliza para exportar claves privadas de un almacén de claves Java y encriptarlas para transferirlas a Google Play.

Cuando proporciones la clave de firma de la app para que la use Google, selecciona la opción para exportar y subir la clave (y su certificado público, si fuera necesario) y sigue las instrucciones para descargar y usar la herramienta. Si lo prefieres, puedes descargar, revisar y usar el código abierto de la herramienta PEPK.

Proceso de firma de apps

El proceso funciona de la siguiente manera:

  1. Debes firmar el paquete de aplicación y subirlo a Play Console.
  2. Google genera APK optimizados a partir del paquete de aplicación y los firma con la clave de firma de la app.
  3. Google usa apksigner para agregar dos sellos al manifiesto de la app (com.android.stamp.source y com.android.stamp.type) y, luego, firma los APK con la clave de firma correspondiente. Los sellos que agrega apksigner permiten hacer un seguimiento de los APK hasta quienes los firmaron.
  4. Google entrega los APK firmados a los usuarios.

Configura y administra la firma de apps de Play

Si tu app aún no usa la firma de apps de Play, sigue las instrucciones que se incluyen a continuación.

Paso 1: Crea una clave de carga

  1. Sigue estas instrucciones para crear una clave de carga.
  2. Firma el paquete de aplicación con la clave de carga.

Paso 2: Prepara tu versión

  1. Sigue las instrucciones para preparar y lanzar la versión.
  2. Después de seleccionar un segmento, la sección "Integridad de la app" muestra el estado de la función de firma de apps de Play en tu app.
  3. Para continuar con una clave de firma de la app generada por Google, sube el paquete de aplicación. O bien, puedes seleccionar Cambiar la clave de firma de la app para acceder a las siguientes opciones:
    • Usar una clave de firma de app generada por Google: Más del 90% de las apps nuevas usan este tipo de claves de firma. El uso de una clave generada por Google es una forma de proteger la app contra cualquier pérdida o vulneración (la clave no se puede descargar). Si eliges esta opción, puedes usar el explorador de paquete de aplicación con el objetivo de descargar APK de distribución firmados con la clave generada por Google para otros canales de distribución, o bien usar otra clave en ellos.
    • Usar la clave de firma de otra app: Si eliges la clave de firma de la app, podrás usar la misma clave que otra de tu cuenta de desarrollador o conservar una copia local para contar con mayor flexibilidad. Por ejemplo, es posible que ya hayas elegido una clave debido a que tu app está preinstalada en algunos dispositivos. Tener una copia de tu clave fuera de los servidores de Google supone un mayor riesgo si la copia local se ve comprometida. Tienes las siguientes opciones para usar otra clave:
  4. Completa el resto de las instrucciones para preparar y lanzar la versión.

Nota: Debes aceptar las Condiciones del Servicio y habilitar la firma de apps para continuar.

Paso 3: Registra la clave de firma de tu app con proveedores de API

Si tu app usa APIs, por lo general deberás registrar la clave de firma correspondiente en ellas para obtener la autenticación por medio de la huella digital del certificado. Para encontrar el certificado, sigue estos pasos:

  1. Abre Play Console y ve a la página Firma de apps de Play (Versión > Configuración > Firma de apps).
    • Sugerencia: También puedes acceder a esta opción desde la página Integridad de la app (Versión > Integridad de la app), donde verás servicios de integridad y firma que te ayudarán a garantizar que los usuarios disfruten de tus apps y juegos de la manera que deseas.
  2. Desplázate hasta la sección "Certificado de la clave de firma de la app" y copia las huellas digitales (MD5, SHA-1 y SHA-256) del certificado de firma de la app.
    • Si el proveedor de la API requiere una huella digital de otro tipo, también puedes descargar el certificado original en formato .der y convertirlo mediante las herramientas de transformación que exija el proveedor.
Requisitos para las claves de firma de las apps

Cuando usas una clave generada por Google, se crea automáticamente una clave RSA de 4096 bits con seguridad criptográfica. Si eliges subir tu propia clave de firma de la app, debe ser una clave RSA de 2048 bits o más.

Instrucciones para las apps creadas antes de agosto de 2021

Paso 1: Configura la firma de apps de Play

  1. Abre Play Console y ve a la página Firma de apps de Play (Versión > Configuración > Firma de apps).
    • Sugerencia: También puedes acceder a esta opción desde la página Integridad de la app (Versión > Integridad de la app), donde verás servicios de integridad y firma que te ayudarán a garantizar que los usuarios disfruten de tus apps y juegos de la manera que deseas.
  2. Si todavía no lo hiciste, revisa las Condiciones del Servicio de la firma de apps de Play y selecciona Aceptar.

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

  1. Busca la clave de firma original de la app.
  2. Abre Play Console y ve a la página Firma de apps de Play (Versión > Configuración > Firma de apps).
  3. Selecciona la opción de exportación y carga que mejor se adapte al proceso de lanzamiento, y sube una clave de firma de la app existente.

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

  1. Crea una clave de carga y sube el certificado a Google Play.
    • También puedes seguir usando la clave de firma de la app como clave de carga.
  2. Copia las huellas digitales (MD5, SHA-1 y SHA-256) del certificado de firma de tu app.
    • Para realizar pruebas, es posible que debas registrar el certificado de la clave de carga con los proveedores de API mediante la huella digital del certificado y la clave de firma de la app.

Paso 4: Firma la próxima actualización de tu app con la clave de carga

Cuando publiques actualizaciones de la app, tendrás que firmarlas con tu clave de carga.

  • Si no generaste una clave de carga nueva: Sigue usando la clave de firma original de la app para firmar los paquetes de aplicaciones antes de subirlos a Google Play. Si pierdes esta clave de firma, puedes generar una clave de carga nueva y registrarla con Google para seguir actualizando la app.
  • Si generaste una clave de carga nueva: Úsala para firmar los paquetes de aplicaciones antes de subirlos a Google Play. Google usa la clave de carga para verificar tu identidad. Si pierdes la clave de carga, puedes comunicarte con el equipo de asistencia para restablecerla.
Actualiza la clave de firma de la app para inscribirte en el programa de firma de apps de Play

Es aconsejable que lo hagas si no puedes compartir tu clave existente. Antes de optar por actualizar la clave de firma de la app para inscribirte, ten en cuenta lo siguiente:

  • Esta opción requerirá una versión doble.
  • Deberás cargar un paquete de aplicación y un APK firmado con la clave heredada en todas las versiones. Google Play usará tus paquetes de aplicación para generar APK firmados con la nueva clave para dispositivos con Android R* (nivel de API 30) o versiones posteriores. Los APK heredados se usarán para versiones anteriores de Android (hasta el nivel de API 29).

* Si tu app usa sharedUserId, te recomendamos que apliques la actualización de la clave en las instalaciones y actualizaciones destinadas a dispositivos con Android T (nivel de API 33) o versiones posteriores. Para ello, establece una versión mínima y precisa del SDK en la configuración del paquete.

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

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

  1. Abre Play Console y ve a la página Firma de apps de Play (Versión > Configuración > Firma de apps).
    • Sugerencia: También puedes acceder a esta opción desde la página Integridad de la app (Versión > Integridad de la app), donde verás servicios de integridad y firma que te ayudarán a garantizar que los usuarios disfruten de tus apps y juegos de la manera que deseas.
  2. Selecciona la pestaña Firma de apps.
  3. Haz clic en Mostrar opciones avanzadas y selecciona Usar una nueva clave de firma de la app (esta opción requiere versiones dobles en curso).
  4. Elige usar la misma clave de firma que otra app en tu cuenta de desarrollador o sube una nueva clave de firma de la app desde Android Studio, Java KeyStore o algún otro repositorio.
  5. Sigue las instrucciones en pantalla para descargar y ejecutar la herramienta PEPK.
  6. Cuando esté listo el archivo ZIP, haz clic en Subir archivo ZIP generado y súbelo a Play Console.
  7. Junto a "5. Para permitir que la nueva clave sea de confianza para dispositivos Android, sube la prueba de rotación", haz clic en Mostrar instrucciones.
  8. Descarga APKSigner y ejecuta este comando para generar una prueba de rotación:
    • $ 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 Subir archivo de la prueba de rotación que generaste y sube la prueba de rotación generada en el paso 8.
  10. Haz clic en Guardar.

Crea una clave de carga y actualiza los almacenes de claves

Para mayor seguridad, te recomendamos firmar tu app con una clave de carga nueva en lugar de usar la clave de firma de la app.

Puedes crear una clave de carga cuando habilitas la función de firma de apps de Play. Si decides generarla en otro momento, ve a Firma de apps de Play (Versión > Configuración > Firma de apps).

Para crear una clave de carga, sigue estos pasos:

  1. Sigue las instrucciones que aparecen en el sitio para desarrolladores de Android. Almacena la clave en un lugar seguro.
  2. Exporta el certificado de la clave de carga en formato PEM. Reemplaza los siguientes argumentos subrayados:
    • $ keytool -export -rfc -keystore upload-keystore.jks -alias upload -file upload_certificate.pem
  3. Durante el proceso de actualización, sube el certificado para registrarlo con Google cuando se te solicite.

Cuando usas una clave de carga:

  • Tu clave de carga solo está registrada en Google para autenticar la identidad del creador de la app.
  • Tu firma se quita de los APK subidos antes de enviarlos a los usuarios.
Requisitos para la clave de carga
  • Debe ser una clave RSA de 2048 bits o más.
Actualiza los almacenes de claves

Estas son algunas ubicaciones que recomendamos revisar y actualizar después de crear una clave de carga:

  • Maquinas locales
  • Servidor en sitio bloqueado (diferentes LCA)
  • Máquina en la nube (diferentes LCA)
  • Servicios de administración confidencial
  • Repositorios (Git)

Cómo actualizar la clave de firma de la app

Esta sección contiene instrucciones para actualizar la clave de firma de tu app. Si perdiste la clave de carga, no es necesario que solicites que se te actualice. Consulta la sección Claves de carga perdidas o en riesgo en la parte inferior de esta página.

En algunas circunstancias, puedes solicitar una actualización de la clave de firma de la app.

A continuación se incluyen algunos motivos para solicitar una actualización de la clave de firma de la app:

  • Necesitas una clave más segura a nivel criptográfico.
  • La clave de firma de la app está en riesgo.

Importante: Las actualizaciones de claves solo se admiten para apps que usan paquetes de aplicaciones.

Antes de solicitar una actualización de clave en Play Console, lee la sección Consideraciones importantes antes de solicitar una actualización de la clave a continuación. Luego, puedes expandir las otras secciones que aparecen debajo para obtener más información sobre cómo solicitar una actualización de clave.

Consideraciones importantes antes de solicitar una actualización de clave

Antes de solicitar una actualización de la clave, es importante que comprendas los cambios que quizá debas hacer luego de que se complete.

  • Si usas la misma clave de firma en varias apps para compartir códigos o datos entre ellas, deberás actualizar las apps para que reconozcan los certificados de la clave nueva y la heredada. En los dispositivos que ejecutan Android S (nivel de API 32) o versiones anteriores, la plataforma de Android solo reconoce el certificado de la clave de firma de la app heredada para el uso compartido de datos o códigos.
  • Si la app usa APIs, asegúrate de registrar los certificados de las claves de firma nueva y heredada con los proveedores de API antes de publicar una actualización para garantizar que sigan funcionando las APIs. Los certificados están disponibles en la página Firma de apps de Play (Versión > Configuración > Firma de apps) de Play Console.  
  • Si alguno de los usuarios instala actualizaciones mediante el uso compartido entre pares, solo podrá instalar las que estén firmadas con la misma clave que se usó en la versión de la app que ya tiene instalada. Si no puede actualizar la app porque tiene una versión que se firmó con otra clave, tiene la opción de desinstalarla y reinstalarla para obtener la actualización.
Solicita una actualización de clave para todas las instalaciones en Android N (nivel de API 24) y versiones posteriores

Se puede actualizar la clave de firma de la app para todas las instalaciones en Android N (nivel de API 24) y versiones posteriores una vez al año.

Si solicitas y obtienes la actualización de clave, se usará la nueva para firmar todas las instalaciones y las actualizaciones de la app. En dispositivos con Android T (nivel de API 33) y versiones posteriores, la plataforma de Android aplica de manera forzosa el uso de la clave actualizada. En los dispositivos con Android S (nivel de API 32) o versiones anteriores, la plataforma de Android no aplica de manera forzosa el uso de esta clave actualizada y aún reconoce la clave de firma heredada como la que corresponde a la app. También incluye cualquier función de la plataforma de Android (por ejemplo, el uso compartido personalizado de permisos) que dependa de la clave de firma de la app. En dispositivos con versiones de Android N (nivel de API 24) a Android S (nivel de API 32), Google Play Protect comprobará que las actualizaciones de las apps estén firmadas con la clave actualizada, a menos que el usuario las desactive. Esto proporciona una validación adicional, ya que la plataforma de Android no aplica de manera forzosa el uso de la clave actualizada en dispositivos con Android S (nivel de API 32) o versiones anteriores.

  1. Abre Play Console y ve a la página Firma de apps de Play (Versión > Configuración > Firma de apps).
    • Sugerencia: También puedes acceder a esta opción desde la página Integridad de la app (Versión > Integridad de la app), donde verás servicios de integridad y firma que te ayudarán a garantizar que los usuarios disfruten de tus apps y juegos de la manera que deseas.
  2. En la tarjeta "Actualiza la clave de firma de la app", selecciona Solicitar actualización de la clave.
  3. Selecciona una opción para actualizar la clave de firma de la app a todas las instalaciones en Android N y versiones posteriores.
  4. Deja que Google genere una nueva clave de firma de la app (opción recomendada) o sube una.
    • Luego de actualizar la clave de firma de la app, si usabas una misma clave para firmar las apps y como clave de carga, podrás seguir usando la heredada como clave de carga, o bien generar una nueva.
  5. Selecciona un motivo para solicitar la actualización de la clave de firma de la aplicación.
  6. Si es necesario, registra la nueva clave de firma de la app con los proveedores de APIs.

Sugerencia: Si distribuyes tu app en múltiples canales de distribución y quieres maximizar la compatibilidad de las actualizaciones de la app para los usuarios, debes actualizar la clave en todos los canales de distribución. Para ser compatible con la actualización de la clave de Google Play, usa la herramienta ApkSigner, que se incluye en el paquete de las herramientas de compilación del SDK de Android (revisión 33.0.1 o versiones 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}

 Obtén más información sobre cómo funcionan las actualizaciones de la app.

Prácticas recomendadas

  • Si también distribuyes la app fuera de Google Play o planeas hacerlo en el futuro y quieres usar la misma clave de firma, tienes dos opciones: 
    • Permite que Google genere la clave (recomendado) y, luego, descarga un APK universal firmado del explorador de paquete de aplicación para distribuirlo fuera de Google Play.
    • También puedes generar la clave de firma de la app que quieras usar en todas las tiendas de aplicaciones y, luego, transferir una copia a Google cuando configures la firma de apps de Play.
  • Para proteger tu cuenta, activa la verificación en dos pasos en todas las cuentas que tengan acceso a Play Console.
  • Después de publicar un paquete de aplicación en un segmento, puedes visitar el explorador de paquete de aplicación para acceder a los APK instalables que Google genera a partir del paquete. Puedes hacer lo siguiente:
    • Copiar y compartir el vínculo de uso compartido interno de apps que te permite probar, con solo presionar una vez, lo que Google Play instalará de tu paquete de aplicación en diferentes dispositivos
    • Descargar un APK universal firmado (este APK único se firma con la clave de firma de la app que tiene Google y se puede instalar en cualquier dispositivo compatible con tu app)
    • Descargar un archivo ZIP con todos los APK de un dispositivo específico (estos APK están firmados con la clave de firma de la app que tiene Google, y puedes usar el comando adb install-multiple *.apk para instalar los APK del archivo ZIP en un dispositivo)
  • Para mayor seguridad, genera una clave de carga nueva que sea distinta de la clave de firma de tu app.
  • Si usas una API de Google, te recomendamos registrar la clave de carga y los certificados de clave de firma de tu app en Google Cloud Console.
  • Si usas Android App Links, asegúrate de actualizar las claves del archivo JSON de Vínculos de recursos digitales correspondiente en tu sitio web.

Claves de carga perdidas o en riesgo

Si perdiste la clave de carga privada o esta se ve comprometida, puedes crear una nueva. El propietario de la cuenta de desarrollador puede restablecer la clave en Play Console.

Cuando nuestro equipo de asistencia al cliente haya registrado la nueva clave de carga, el propietario de la cuenta y los administradores globales recibirán un mensaje en Recibidos y un correo electrónico con más información. Luego, puedes actualizar tus almacenes de claves y registrar tu clave con proveedores de API.

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

Importante: La clave de firma de la app que usa Google Play para volver a firmar los APK antes de su entrega a los usuarios no se ve afectada cuando restableces tu clave de carga.

Esquema de firma de APK v4

Los dispositivos con Android 11 y versiones posteriores son compatibles con el nuevo esquema de firma de APK v4. La firma de apps de Play usa la firma v4 para que las apps aptas puedan acceder a las funciones de distribución optimizadas disponibles en dispositivos más nuevos. No es necesario que los desarrolladores realicen ninguna acción, y no se espera que la firma v4 afecte a los usuarios.

Contenido relacionado

¿Te resultó útil esto?

¿Cómo podemos mejorarla?

¿Necesitas más ayuda?

Prueba estos próximos pasos:

Búsqueda
Borrar búsqueda
Cerrar la búsqueda
Google Apps
Menú principal
2691117543325957924
true
Buscar en el Centro de asistencia
true
true
true
true
true
92637
false
false