¿Por qué usar la firma de aplicaciones de Play? Además de proteger tus claves frente a pérdidas o vulneraciones permanentes, registrarte en la firma de aplicaciones de Play te permite acceder a las mejoras para tus Android App Bundles (.aab). Si permites que Google firme los APKs de distribución optimizados que se generan a partir de tus app bundles, podrás acceder a servicios valiosos, como la protección automática y la traducción automática de cadenas con modelos de Gemini. Los juegos obtienen acceso a servicios automáticos adicionales, como Play Games Sidekick, la función para jugar durante la descarga y pruebas sin coste para títulos de pago.
Para configurar la firma de aplicaciones de Play, debes ser el propietario de la cuenta o tener el permiso Lanzar a producción, excluir dispositivos y usar la firma de aplicaciones de Play, así como aceptar los Términos del Servicio.
Conceptos básicos
Cuando usas la firma de aplicaciones de Play, trabajas con dos claves distintas. Es fundamental conocer la diferencia entre ambas, así como sus formatos técnicos, para evitar problemas de autenticación con APIs de terceros.
| Tipo de clave | ¿Quién la tiene? | Detalles técnicos y finalidad |
|
Clave de subida |
Tú (¡guárdala de forma segura!) |
|
| Clave de firma de aplicación |
Google Play |
|
| Preparada para la computación cuántica | Google Play |
|
Nota: Para obtener la máxima seguridad, la clave de subida y la clave de firma de aplicación deben ser diferentes.
Cómo firma Google tu aplicación: cuando Google genera y firma tus APKs con la clave de firma de aplicación, usa apksigner para añadir dos sellos al archivo de manifiesto de tu aplicación (com.android.stamp.source y com.android.stamp.type). Estos sellos garantizan que tus APKs se puedan rastrear de forma segura hasta el firmante original.
Configurar la firma de aplicaciones de Play
El proceso de configuración varía en función de si vas a publicar una aplicación nueva o a migrar una que ya tengas.
Para aplicaciones nuevas
- Crear una aplicación: tu aplicación se registrará automáticamente en la firma híbrida preparada para la computación cuántica con claves generadas por Google. También generamos una clave clásica independiente que se usa en los bloques de firma que se reconocen en dispositivos con Android 16 o versiones anteriores.
- Crear una clave de subida: genera un almacén de claves para firmar el app bundle de la versión. Puedes generarlo en Android Studio o usar la utilidad keytool de Java desde la línea de comandos.
- Subir tu app bundle: ve a Play Console y prepara una nueva versión. De forma predeterminada, cuando subes tu app bundle, tu aplicación se registra automáticamente en la firma híbrida preparada para la computación cuántica con claves generadas por Google.
- Cambiar la clave de firma de aplicación (opcional): los desarrolladores expertos que quieran gestionar su propia clave pueden cambiar este valor predeterminado. Para ello, haz clic en Cambiar clave de firma en la sección Integridad de la app de tu versión, o ve a Protegida con Play > Protección de Play Store > Gestiona la firma de aplicaciones de Play. A continuación, puedes elegir entre las siguientes opciones:
- Usar la misma clave que otra aplicación de esta cuenta de desarrollador
- Proporcionar una copia de tu clave de firma de aplicación (siguiendo las instrucciones)
Para aplicaciones que ya tengas
Si actualmente gestionas tus propias claves y subes APKs, puedes cambiar a la firma de aplicaciones de Play para aprovechar las ventajas de los app bundles y las mejoras de Play.
- En Play Console, ve a Protegida con Play > Protección de Play Store > Ir a Firma de aplicaciones de Play.
- Si aún no lo has hecho, acepta los términos del servicio.
- Transfiere una copia de tu clave original: descarga la herramienta PEPK y sigue las instrucciones unificadas paso a paso para cifrar y subir tu clave de firma de aplicación desde cualquier repositorio.
Registrarse con proveedores de APIs
Si tu aplicación usa APIs (como Google Maps, OAuth o Inicio de sesión con Facebook), esos servicios autentican tu aplicación mediante la huella digital de tu clave de firma de aplicación.
Debido a que Google firma el APK final, debes registrar la huella digital de la clave de firma de aplicación que custodia Google en tus proveedores de APIs, no solo tu clave de subida local.
- Ve a Protegida con Play > Distribución en Play Store > Ir a Firma de aplicaciones de Play.
- Desplázate hasta la sección Clave de firma de aplicación.
- Copia las huellas digitales necesarias (SHA-1 o SHA-256). Si tu aplicación usa la firma híbrida preparada para la computación cuántica, debes copiar las huellas digitales de tres claves y registrar cada una de ellas con tus proveedores de APIs: tus nuevas claves clásicas y PQC usadas en dispositivos más recientes, y tu clave clásica usada en dispositivos más antiguos.
- Pega esas huellas digitales en la consola del proveedor de la API (por ejemplo, la consola de Google Cloud).
Nota: Actualiza tu archivo assetlinks.json con estas huellas digitales si usas Android App Links.
Gestionar tus claves
Actualizar tu clave de firma de aplicación
Si tu clave de firma de aplicación se ha vulnerado o necesitas una clave con mayor seguridad criptográfica, puedes solicitar una actualización anual de la clave para todas las descargas en Android N (nivel 24 de la API) y versiones posteriores.
Cómo funciona este requisito en las distintas versiones de Android:
- Android T (nivel 33 de la API) y versiones posteriores: la plataforma Android requiere el uso de la clave actualizada.
- Entre Android N (nivel 24 de la API) y Android S (nivel 32 de la API): la plataforma Android no requiere la clave actualizada y sigue reconociendo la clave de firma antigua. Sin embargo, Google Play Protect proporciona una validación adicional comprobando que las actualizaciones de las aplicaciones se firmen con tu clave actualizada (a menos que el usuario desactive esta opción).
Consideración importante:
- Datos compartidos: como la plataforma no requiere la clave actualizada en Android S (nivel 32 de la API) y versiones anteriores, si usas la misma clave en varias aplicaciones para compartir datos, esas versiones anteriores de Android solo reconocerán la clave antigua para funciones como compartir permisos personalizados.
Cómo actualizar la clave:
- Ve a Protegida con Play > Distribución en Play Store > Ir a Firma de aplicaciones de Play.
- En la sección Clave de firma de aplicación, haz clic en Actualizar clave.
- Elige la ruta de actualización:
- Permitir que Google Play genere una nueva clave de firma de aplicación (recomendado)
- Usar la misma clave de firma de aplicación que otra aplicación de esta cuenta de desarrollador
- Proporcionar una copia de tu clave de firma de aplicación (siguiendo las instrucciones)
- Haz clic en Guardar y registra las nuevas huellas digitales de la clave con tus proveedores de APIs.
Solicitar que se cambie la clave de subida
Si pierdes tu clave de subida o sospechas que se ha vulnerado, no se te impedirá acceder a tu aplicación.
- Crea una nueva clave de subida en Android Studio.
- Exporta el certificado en formato PEM:
keytool -export -rfc -keystore upload-keystore.jks -alias upload -file upload_certificate.pem
Para obtener más ayuda sobre keytool y las rutas de almacén de claves, consulta la guía de firma de aplicaciones de Android Studio. - Una vez que se haya generado el archivo PEM, envía la solicitud de cambio en Play Console.
- Ve a Protegida con Play > Protección de Play Store > Gestionar firma de aplicaciones de Play.
- En la sección Certificado de clave de subida, haz clic en Solicitar cambio de la clave de subida.
- Indica el motivo del cambio.
- Sube el archivo
upload_certificate.pemy haz clic en Solicitar.
Prácticas recomendadas y distribución alternativa
- Seguridad: protege tu acceso a Play Console obligando a todos los usuarios a usar la verificación en dos pasos.
- Mejoras de Play: si te registras en la firma de aplicaciones de Play, podrás acceder a las mejoras de Play para tus app bundles. Para recibir las actualizaciones, primero haz los cambios necesarios al crear una versión nueva y después sube el nuevo app bundle.
- Distribuir fuera de Google Play: si distribuyes tu aplicación en otras tiendas de aplicaciones y quieres usar la misma clave de firma en todas ellas, tienes dos opciones. [1] Puedes dejar que Google genere tu clave de firma de aplicación y descargar un APK universal firmado desde Play Console o la API Play Developer para distribuirlo en otro lugar (en Play Console, ve a Probar y publicar > Últimas versiones y paquetes, selecciona tu app bundle y haz clic en la pestaña Descargas). [2] También puedes generar la clave de firma de aplicación que quieras usar en todas las tiendas de aplicaciones y transferir una copia a Google cuando configures la firma de aplicaciones de Play. Consulta más información sobre cómo funcionan las actualizaciones de aplicaciones y las opciones que tienes para habilitar o inhabilitar las actualizaciones entre tiendas.
- Pruebas: usa la función de compartir aplicaciones de forma interna para probar exactamente lo que Google Play ofrecerá a los usuarios o descarga los archivos APK específicos de un dispositivo desde el explorador de app bundles e instálalos de forma local con adb install-multiple *
.apk. - Versión 4 del esquema de firma de APKs: la firma de aplicaciones de Play usa automáticamente la versión 4 en las aplicaciones que cumplen los requisitos para admitir la distribución optimizada en dispositivos con Android 11 o versiones posteriores. No es necesario que realices ninguna acción. Esto excluye todas las aplicaciones que usan la firma híbrida preparada para la computación cuántica, que aún no es compatible con la firma v4. Puedes consultar más información sobre las ventajas técnicas en la documentación de la versión 4 del esquema de firma de APKs.
- Proyectos de Google Cloud alojados en servidores propios: si tienes requisitos de seguridad muy específicos (por ejemplo, usar claves OEM), puedes utilizar la API Play Developer para registrarte en la firma de aplicaciones de Play con un proyecto de Google Cloud alojado en servidores propios. Nota: Esta es una configuración no estándar que no se recomienda. Si usas un proyecto alojado en servidores propios, asumes toda la responsabilidad de las operaciones de firma de aplicaciones y Google Play no podrá realizar funciones esenciales, como la recuperación tras fallos.