¿Por qué conviene usar la firma de apps de Play? Además de proteger tus claves contra la pérdida o el compromiso permanentes, si te inscribes en la firma de apps de Play podrás acceder a mejoraspara tus Android App Bundles (.aab). Si permites que Google firme los APKs de distribución optimizados generados a partir de tus paquetes de aplicaciones, obtendrás acceso 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, Jugar durante la descarga y pruebas gratuitas de títulos pagados.
Para configurar la firma de apps de Play, debes tener permiso de administrador.
Conceptos básicos
Cuando usas la firma de apps de Play, trabajas con dos claves distintas. Comprender la diferencia y sus formatos técnicos es fundamental para evitar problemas de autenticación con las APIs de terceros.
| Tipo de clave | ¿Quién la tiene? | Detalles técnicos y propósito |
|
Clave de carga |
Tú (debes mantenerla segura) |
|
| Clave de firma de la app |
Google Play |
|
| Disponible para criptografía cuántica | Google Play |
|
Nota: Para lograr la máxima seguridad, la clave de carga y la clave de firma de la app deben ser diferentes.
Cómo Google firma tu app: Cuando Google genera y firma tus APKs con la clave de firma de la app, usa apksigner para agregar dos sellos al manifiesto de la app (com.android.stamp.source y com.android.stamp.type). Estos sellos garantizan que tus APKs se puedan rastrear de forma segura hasta la entidad firmante original.
Configura la firma de apps de Play
El proceso de configuración depende de si publicas una app nueva o migras una existente.
Para apps nuevas
- Crea una app nueva: Tu app se inscribirá automáticamente en la firma híbrida lista para criptografía cuántica con claves generadas por Google. También generamos una clave clásica independiente para usar en los bloques de firma que se reconocen en dispositivos Android 16 y versiones anteriores.
- Crea una clave de carga: Genera un almacén de claves para firmar tu paquete de aplicación de lanzamiento. Puedes generarlo en Android Studio o usar la utilidad keytool de Java desde la línea de comandos.
- Sube tu paquete de aplicación: Ve a Play Console y prepara una nueva versión. De forma predeterminada, cuando subes tu paquete de aplicación, tu app se inscribe automáticamente en la firma híbrida lista para criptografía cuántica con claves generadas por Google.
- Cambia la clave de firma de la app (opcional): Los desarrolladores avanzados que quieran administrar su propia clave pueden cambiar esta configuración predeterminada antes de que se lance una versión en el segmento de pruebas abiertas o de producción. Para hacerlo, navega a Protegido con Play > Play Store distribution > Go to Play app signing y haz clic en Change the app signing key. Luego, puedes elegir entre las siguientes opciones:
- Usar la misma clave que otra app de esta cuenta de desarrollador
- Proporcionar una copia de la clave de firma de la app (siguiendo las instrucciones)
Para apps existentes
Si actualmente administras tus propias claves y subes APKs, puedes actualizar a la firma de apps de Play para aprovechar los paquetes de aplicaciones y las mejoras de Play.
- En Play Console, ve a Protegido con Play > Play Store distribution > Go to Play app signing.
- Acepta las condiciones del servicio, si todavía no lo hiciste.
- Transfiere una copia de tu clave original: Descarga la herramienta PEPK y sigue las instrucciones paso a paso unificadas para encriptar y subir la clave de firma existente de tu app desde cualquier repositorio.
Regístrate con los proveedores de APIs
Si tu app usa APIs (como Google Maps, OAuth o Acceso con Facebook), esos servicios autentican tu app con la huella digital de la clave de firma de la app.
Como Google firma el APK final, debes registrar la huella digital de la clave de firma de la app que posee Google con tus proveedores de APIs, no solo con tu clave de carga local.
- Ve a Protegido con Play > Play Store distribution > Go to Play app signing.
- Desplázate hasta la sección Clave de firma de la app.
- Copia las huellas digitales requeridas (SHA-1 o SHA-256). Si tu app usa la firma híbrida lista para criptografía cuántica, debes copiar las huellas digitales de tres claves y registrar cada una de ellas con tus proveedores de APIs: la clave clásica y la de PQC nuevas, que se usan en dispositivos más nuevos, y tu clave clásica, que se usa en dispositivos más antiguos.
- Pega estas huellas digitales en la consola de tu proveedor de APIs (por ejemplo, la consola de Google Cloud).
Nota: Actualiza tu archivo assetlinks.json con estas huellas digitales si usas Android App Links.
Administra tus claves
Cómo actualizar la clave de firma de la app
Si se vulnera la clave de firma de la app o necesitas una clave más segura a nivel criptográfico, puedes solicitar una actualización anual de la clave para todas las instalaciones en Android 17 (nivel de API 37) y versiones posteriores.
Cómo funciona la aplicación forzosa en las diferentes versiones de Android:
- Android 17 (nivel de API 37) y versiones posteriores: La plataforma de Android aplica estrictamente y de manera forzosa el uso de la clave híbrida lista para criptografía cuántica actualizada. Consulta el Esquema de firma de APK v3.2.
- Android 13 (nivel de API 33) a Android 16 (nivel de API 36): La plataforma de Android aplica estrictamente y de manera estricta el uso de la clave clásica más reciente. Consulta el Esquema de firma de APK v3.1.
- Android 7 (nivel de API 24) a Android 12 (nivel de API 32): La plataforma de Android no aplica de manera forzosa la clave actualizada y aún reconoce la clave clásica más reciente. Sin embargo, para realizar una validación adicional, Google Play Protect verifica que las actualizaciones de las apps estén firmadas con tu clave clásica más reciente (a menos que el usuario desactive la función).
Consideración importante:
- Datos compartidos: Debido a que la plataforma no aplica de manera forzosa la clave actualizada en Android S (nivel de API 32) y versiones anteriores, si usas la misma clave en múltiples apps para compartir datos, esas versiones anteriores de Android solo reconocerán la clave heredada para funciones como el uso compartido de permisos personalizados.
Cómo actualizar la clave:
- Ve a Protegido con Play > Play Store distribution > Ir a Firma de apps.
- En la sección Clave de firma de la app, haz clic en Actualizar clave.
- Elige tu ruta de actualización:
- Dejar que Google Play genere una nueva clave de firma de la app (opción recomendada)
- Usar la misma clave de firma que otra app vinculada a esta cuenta de desarrollador
- Proporcionar una copia de la clave de firma de la app (siguiendo las instrucciones)
- Haz clic en Guardar.
- Registra las nuevas huellas digitales de la clave con los proveedores de APIs. Si tu app usa la firma híbrida lista para criptografía cuántica, debes registrar las huellas digitales de dos claves nuevas: la clásica y la de PQC.
Cómo solicitar que se restablezca la clave de carga
Si pierdes la clave de carga o sospechas que se vio comprometida, no se te bloqueará el acceso a la app.
- Crea una clave de carga nueva en Android Studio.
- Exporta el certificado al formato PEM:
keytool -export -rfc -keystore upload-keystore.jks -alias upload -file upload_certificate.pem
(Para obtener más ayuda con las rutas de acceso a keytool y al almacén de claves, consulta la guía de firma de apps de Android Studio). - Una vez que se genere el archivo PEM, envía la solicitud de restablecimiento en Play Console.
- Navega a Protegido con Play > Protección de Play Store > Administrar la firma de apps de Play.
- En la sección Certificado de clave de carga, haz clic en Cómo solicitar que se restablezca la clave de carga.
- Ingresa el motivo del restablecimiento.
- Sube tu archivo
upload_certificate.pemy haz clic en Solicitar.
Prácticas recomendadas y distribución alternativa
- Seguridad: Para proteger tu acceso a Play Console aplica la verificación en 2 pasos para todos los usuarios.
- Mejoras del paquete de aplicación: Si te inscribes en la firma de apps de Play, podrás acceder a mejoras para tus paquetes de aplicaciones. Para aplicar mejoras, primero realiza los cambios de configuración necesarios cuando crees una nueva versión y, luego, sube un nuevo paquete de aplicación.
- Distribución fuera de Google Play: Si distribuyes tu app a través de otras tiendas de aplicaciones y quieres usar la misma clave de firma en todas partes, tienes dos opciones. [1] Puedes permitir que Google genere tu clave de firma de la app y descargar un APK universal firmado desde Play Console o la API de Play Developer para distribuirlo en otro lugar (en Play Console, ve a Prueba y lanza > Versiones y paquetes más recientes, selecciona tu paquete de aplicación y haz clic en la pestaña Descargas) o [2] puedes generar la clave de firma de la app que quieras usar para todas las tiendas de aplicaciones y transferir una copia a Google cuando configures la firma de apps de Play. Obtén más información sobre cómo funcionan las actualizaciones de la app y las opciones para habilitar o inhabilitar las actualizaciones en varias tiendas.
- Pruebas: Utiliza el uso compartido interno de apps para probar exactamente lo que Google Play entregará a los usuarios o descarga APKs específicos del dispositivo desde el explorador de paquete de aplicación y, luego, instálalos de forma local con adb install-multiple *.apk.
- Esquema de firma de APK v4: La firma de apps de Play usa automáticamente la firma v4 para las apps elegibles y, de esa forma, admite la distribución optimizada en dispositivos con Android 11 y versiones posteriores. No se requiere ninguna acción de tu parte. Esto excluye todas las apps que usan la firma híbrida preparada para criptografía cuántica, que aún no es compatible con la firma v4. Puedes obtener más información sobre los beneficios técnicos en la documentación del esquema de firma de APK v4.
Proyectos de Google Cloud autoalojados
Si tienes requisitos de seguridad muy específicos (por ejemplo, usar claves de OEM), puedes usar la API de Play Developer para inscribirte en la firma de apps de Play con un proyecto de Google Cloud autoalojado.
Esta es una configuración no estándar que no se recomienda. Si usas un proyecto autoalojado, significa que asumes la responsabilidad total de las operaciones de firma de apps.
- Esto impide que Google Play realice funciones esenciales, como la recuperación ante desastres.
- Google no puede volver a generar ni corregir una versión existente. Para solucionar cualquier error relacionado con la versión, debes subir una nueva.
- Es posible que las optimizaciones avanzadas, algunas mejoras de Play y las funciones de seguridad, como la firma híbrida preparada para criptografía cuántica, no estén disponibles en esta configuración.
- Genera o importa tus claves de firma en Cloud KMS, asegúrate de que la ubicación esté configurada como multirregional de EE.UU. y sigue la documentación de importación de claves de KMS.
- Para cambiar tu clave de firma, usa el método enrollApp. Las claves de firma solo se pueden cambiar antes de que la app se lance en los segmentos de pruebas abiertas o de producción.
- Para actualizar la clave de firma después de la publicación, usa el método rotateAppSigningKey.
- Otorga los siguientes roles de IAM al cliente o a la cuenta de servicio que se autentica con la API de Google Play Developer:
- Asegúrate de tener suficiente cuota para realizar operaciones criptográficas. En particular, te recomendamos que aumentes la cuota de asymmetric_requests a, al menos, 350 QPS.
- Para ver cómo se usan las claves de firma, habilita el registro de auditoría en tu proyecto de Cloud KMS.