Sobes.tech
Middle+

¿Cómo funciona el sistema de certificados en iOS?

sobes.tech AI

Respuesta de la IA

Los certificados se utilizan para la firma criptográfica y la verificación de aplicaciones, perfiles de preparación y conexiones. Componentes clave: Certificado raíz de Apple, Certificados intermedios, Certificados de desarrollador, Certificados de distribución y Perfiles de aprovisionamiento.

El Certificado raíz de Apple es el centro de certificación raíz de Apple, y es de confianza.

Los Certificados intermedios conectan el certificado raíz con los certificados finales del desarrollador/distribuidor.

El Certificado de desarrollador identifica al desarrollador para fines de desarrollo y depuración en dispositivos registrados.

El Certificado de distribución se usa para firmar aplicaciones antes de distribuirlas a través de la App Store, Programas Empresariales o Ad Hoc.

El Perfil de aprovisionamiento vincula el ID de la aplicación, los certificados de desarrollador/distribuidor y los dispositivos registrados (para Ad Hoc y desarrollo). Define qué servicios de Apple puede usar la aplicación (por ejemplo, Notificaciones Push, Capacidades).

Proceso:

  1. Se crea una solicitud de firma de certificado (CSR) en la máquina del desarrollador.
  2. La CSR se carga en el portal de Apple Developer.
  3. Apple emite un certificado de desarrollador o distribución.
  4. El certificado se instala en el almacén de claves (Keychain) en la máquina del desarrollador.
  5. Se crea un Perfil de aprovisionamiento en el portal de Apple Developer, que vincula el ID de la aplicación, el certificado y los dispositivos. El perfil también se carga e instala.
  6. La aplicación se firma usando el certificado y el Perfil de aprovisionamiento durante la compilación.
  7. Al instalar en un dispositivo o antes de publicar en la App Store, la firma y el Perfil de aprovisionamiento son verificados por el sistema iOS.

Verificación: El sistema iOS verifica la cadena de confianza del certificado, que va desde el certificado de la aplicación hasta el Certificado raíz de Apple, y la validez del Perfil de aprovisionamiento. Si algo es incorrecto, la instalación o ejecución de la aplicación se bloquea.

Perfil de aprovisionamiento
  .mobileprovision // archivo
  incluye:
    - ID de la app
    - Certificados (Desarrollador/Distribución)
    - UDID de dispositivos (para Dev/Ad Hoc)
    - Entitlements (capacidades)

Certificado
  .cer // archivo
  firmado por Apple
  vinculado a la clave privada en Keychain