¿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:
- Se crea una solicitud de firma de certificado (CSR) en la máquina del desarrollador.
- La CSR se carga en el portal de Apple Developer.
- Apple emite un certificado de desarrollador o distribución.
- El certificado se instala en el almacén de claves (Keychain) en la máquina del desarrollador.
- 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.
- La aplicación se firma usando el certificado y el Perfil de aprovisionamiento durante la compilación.
- 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