Archivos P12 y Mobileprovision explicados: certificados de firma para iPhone

Los firmadores en el dispositivo, como Feather y KSign, piden dos archivos antes de poder instalar nada: un certificado .p12 y un perfil .mobileprovision. Muchas personas consiguen estos archivos de otra persona sin saber qué contienen ni qué puede salir mal. Esta guía explica ambos archivos, cómo revisarlos y los riesgos, usando la propia documentación de Apple.

Los riesgos, primero

  • Un archivo .p12 contiene una clave privada. Quien tenga el archivo y su contraseña puede firmar apps como si fuera ese desarrollador. Nunca lo publiques ni se lo envíes a gente en la que no confíes.
  • Apple puede revocar cualquier certificado. La documentación de Apple dice que la empresa «puede revocar certificados digitales en cualquier momento, a su entera discreción». Cuando eso pasa, las apps firmadas con él dejan de funcionar.
  • Los certificados compartidos o comprados son los que se revocan con más frecuencia. Un certificado que muchos desconocidos usan para distribución pública está fuera de los términos bajo los que se emitió. No puedes controlar cuándo lo revocan, y el dinero pagado por él normalmente no se devuelve. Consulta seguridad de los certificados enterprise.
  • El certificado no comprueba la app. Firmar indica quién firmó una app, no si es segura. Revisa los archivos IPA tú mismo: consulta cómo escanear archivos IPA en busca de malware.

Qué es un archivo .p12

Un certificado de firma por sí solo es público. Lo que permite a alguien firmar apps realmente es el certificado junto con su clave privada, que se crea en el Mac del desarrollador. La guía de Keychain Access de Apple describe el formato .p12 (Personal Information Exchange) como un archivo que «se puede importar como copia de seguridad de tu certificado digital y tu clave privada». Al exportarlo, Keychain Access pide una contraseña, y esa contraseña se necesita para volver a importarlo. Por eso los firmadores piden un archivo .p12 y una contraseña.

Apple emite distintos tipos de certificados. Para instalar en iPhones fuera de la App Store, los que te vas a encontrar son certificados de desarrollo, certificados de distribución de una membresía de pago del Apple Developer Program y certificados de distribución interna (in-house) del Apple Developer Enterprise Program.

Qué es un archivo .mobileprovision

Un provisioning profile es un archivo firmado por Apple que indica qué apps pueden ejecutarse, firmadas por quién, en qué dispositivos y con qué permisos. La nota técnica TN3125 de Apple detalla lo que contiene:

  • DeveloperCertificates: los certificados autorizados para firmar las apps cubiertas por el perfil. Tu .p12 debe coincidir con uno de ellos.
  • App ID: la mayoría de los perfiles se aplican a un único App ID. Un App ID comodín puede cubrir varias apps.
  • Devices: la mayoría de los perfiles listan dispositivos específicos por UDID (ProvisionedDevices). Los perfiles In-House (Enterprise), en cambio, usan ProvisionsAllDevices, por lo que funcionan en cualquier dispositivo. Consulta cómo encontrar el UDID de tu iPhone.
  • ExpirationDate: todos los perfiles tienen una. A partir de esa fecha, el perfil deja de ser válido.
  • Entitlements: una lista de permisos autorizados, como notificaciones push o app groups. Apple indica que cada entitlement que solicita una app debe figurar en la lista permitida del perfil.

Apple también explica que el dispositivo comprueba la firma del perfil y, después, verifica que la app cumpla con los criterios del perfil. Si el certificado de firma de la app, el App ID, el dispositivo o los entitlements no coinciden, iOS no la ejecutará.

Cómo comprobar los archivos tú mismo

  • Dentro de un firmador: Feather incluye entre sus funciones «información detallada sobre las apps y tus certificados», así que tras importarlos puedes ver ahí el nombre, el tipo y la fecha de caducidad.
  • En un Mac: la TN3125 de Apple muestra cómo decodificar un perfil en Terminal con security cms -D -i profile.mobileprovision. El resultado incluye el ExpirationDate, la lista de dispositivos o ProvisionsAllDevices, y los entitlements.
  • Comprueba que la pareja coincide: el certificado dentro del .p12 debe ser uno de los DeveloperCertificates del perfil. Un desajuste es un motivo frecuente por el que un firmador muestra un error antes de instalar.

Problemas comunes con los archivos de certificado

  • Contraseña incorrecta: el .p12 no se importará. Solo la persona que lo exportó conoce la contraseña.
  • Perfil caducado: las apps firmadas con él dejan de abrirse después de la fecha de caducidad. Necesitas un perfil nuevo y luego volver a firmar las apps. Consulta cómo volver a firmar archivos IPA.
  • Dispositivo no incluido en el perfil: en los perfiles de desarrollo y ad hoc, tu UDID debe estar en la lista. Si no, la instalación falla, a menudo con el mensaje «integrity could not be verified»: consulta las soluciones para el error de integridad.
  • Certificado revocado: todas las apps firmadas con él dejan de funcionar al instante, y ningún ajuste del iPhone lo cambia. Consulta qué hacer después de una revocación.
  • Entitlement faltante: una app que necesita una capacidad que el perfil no permite puede instalarse pero fallar en esa función concreta, o directamente no instalarse.

Dónde encaja Scarlet iOS

Scarlet no te pide un .p12 ni un perfil. Firma con un certificado compartido en lugar de tu Apple ID, por eso la configuración es tan sencilla, y también por eso todas las apps instaladas con él dejan de abrirse cuando Apple revoca ese certificado. Scarlet está confirmado desde iOS 14 hasta iOS 26; el soporte para iOS 27 lo reportan terceros, pero no está confirmado oficialmente. Si tienes tu propio certificado del Apple Developer Program, un firmador como Feather o KSign lo usa directamente. Para ver las ventajas y desventajas, consulta firma en el dispositivo frente a firma por ordenador.

Preguntas frecuentes

¿Puedo crear un .p12 y un perfil con un Apple ID gratuito?

Un Apple ID gratuito te da un certificado de equipo personal que herramientas como Xcode, Sideloadly y SideStore gestionan por ti. Los perfiles creados con él duran 7 días. Los firmadores diseñados para archivos .p12 están pensados principalmente para certificados de desarrollador de pago.

¿Es seguro usar un certificado que alguien compartió en línea?

Funciona hasta que se revoca, algo que puede pasar en cualquier momento y sin previo aviso. Tampoco puedes saber quién más tiene la clave privada. Trátalo como algo temporal y nunca firmes con él nada sensible.

¿Un perfil nuevo soluciona un certificado revocado?

No. Un perfil indica qué certificados permite. Si el certificado está revocado, necesitas un certificado diferente y un perfil que lo incluya.

Entradas Similares