Apple Certificate — qué es, cuáles son sus tipos y cómo funciona

Autor: IT Sectr Publicado: 2026-04-16 Tiempo de lectura: 9 min

Apple Certificate es un documento digital emitido por Apple Developer Portal para la firma de código de aplicaciones en iOS, iPadOS, macOS, tvOS y watchOS. Según Apple Developer Support, 2026, los certificados forman parte de la infraestructura de clave pública (PKI) y son necesarios para confirmar la identidad del desarrollador. En este artículo analizaremos los tipos de certificados, el proceso de creación y gestión.

Puntos clave

  • Apple Certificate — un certificado digital que verifica la identidad del desarrollador al firmar código
  • Development permite ejecutar aplicaciones en dispositivos físicos durante el desarrollo
  • Distribution es necesario para publicar en App Store o distribución Ad Hoc
  • Los certificados Push Notification se usan para firmar la conexión con APNs y enviar notificaciones
  • La clave privada del certificado se almacena en el Keychain del desarrollador y no debe compartirse con terceros

Qué es un Apple Certificate

Apple Certificate es un certificado criptográfico en formato X.509 emitido por la autoridad de certificación de Apple (Apple Certificate Authority). Confirma que su titular es un miembro registrado del Apple Developer Program y tiene derecho a firmar aplicaciones para el ecosistema Apple. El certificado consta de una clave pública, metadatos del propietario y una firma digital de Apple CA — cualquiera puede verificar la autenticidad del certificado usando el certificado raíz de Apple integrado en el sistema operativo.

La arquitectura PKI de Apple incluye tres niveles: el certificado raíz Apple Root CA, el certificado intermedio (Apple Worldwide Developer Relations CA) y el certificado del desarrollador. Apple Worldwide Developer Relations CA firma todos los certificados de desarrolladores — si este certificado intermedio falta en la cadena de confianza, la firma de código se considera inválida. Los certificados raíz de Apple se actualizan automáticamente a través del mecanismo Apple Trust Store integrado en iOS y macOS.

Cada certificado tiene un período de validez — de uno a tres años, según el tipo. Apple Developer Program notifica automáticamente al desarrollador 30 días antes del vencimiento del certificado por correo electrónico y notificaciones push. Después del vencimiento, el certificado antiguo no puede usarse para firmar nuevas compilaciones — es necesario emitir uno nuevo; sin embargo, las aplicaciones firmadas con el certificado vencido continúan funcionando en los dispositivos de los usuarios.

Cadena de confianza de Apple

La cadena de confianza garantiza que el certificado del desarrollador fue realmente emitido por Apple. iOS verifica: el certificado raíz Apple Root CA (integrado en el firmware), el certificado intermedio Apple Worldwide Developer Relations CA y el certificado del desarrollador. Si falta algún elemento de la cadena o no es válido, iOS bloquea el inicio de la aplicación con un error de firma de código. macOS proporciona la utilidad security para verificar la cadena de confianza de cualquier certificado en el llavero.

Cómo funcionan los certificados Apple

El proceso de firma de código con un Apple Certificate se basa en criptografía asimétrica. La clave privada se almacena en el ordenador del desarrollador en el Keychain, mientras que la clave pública se incluye en el certificado y se envía al Apple Developer Portal. Cuando Xcode firma una aplicación, crea un resumen (hash) del archivo binario y lo cifra con la clave privada — esta es la firma digital. El dispositivo descifra la firma con la clave pública del certificado y la compara con el hash calculado.

Apple utiliza el algoritmo ECDSA (Elliptic Curve Digital Signature Algorithm) con la curva P-256 para todos los certificados emitidos después de 2021. Anteriormente se usaba RSA-2048. La transición a ECDSA aumentó la velocidad de verificación de firmas en los dispositivos y redujo el tamaño de la firma — esto es especialmente importante para aplicaciones móviles, ya que la verificación de firma se realiza en cada inicio. Según Apple Security Engineering (2025), ECDSA P-256 proporciona un nivel de seguridad equivalente a RSA-2048 con costos computacionales significativamente menores.

Para procesos CI/CD, el certificado junto con la clave privada debe exportarse a PKCS12 (.p12) y almacenarse en un repositorio seguro. GitHub Actions, Bitrise, Jenkins y otros sistemas CI admiten la importación de certificados a través de variables de entorno o secretos. Después de la importación en el agente CI, el certificado se agrega temporalmente al llavero, se usa para firmar y se elimina. Fastlane Match automatiza este proceso sincronizando certificados entre desarrolladores a través de un repositorio git cifrado.

Diferencia entre certificados Development y Distribution

El certificado Development permite firmar aplicaciones para ejecutarlas en dispositivos físicos del desarrollador. Una cuenta gratuita de Apple ID es suficiente para obtenerlo — Xcode puede generar un certificado Development automáticamente. El certificado Distribution se emite solo para cuentas pagas de Apple Developer Program ($99/año) y es necesario para enviar una aplicación a App Store, distribución Ad Hoc o distribución Enterprise. Una cuenta puede tener múltiples certificados Distribution — por ejemplo, uno para cada aplicación o para diferentes equipos.

Tipos de Apple Certificate

Apple Developer Portal ofrece varios tipos de certificados, cada uno diseñado para un propósito específico. iOS App Development — certificado básico para firmar aplicaciones durante el desarrollo. Apple Distribution — certificado principal para publicar en App Store. Mac Development y Mac Distribution — análogos para aplicaciones macOS. Cada tipo de certificado requiere una solicitud (CSR) separada en Apple Developer Portal.

Una categoría aparte son los certificados para notificaciones push. Apple Push Notification service (APNs) requiere un certificado SSL separado o el uso de tokens de autenticación (APNs Auth Key). Los certificados SSL de APNs se emiten por separado para entornos Development (Sandbox) y Production y están vinculados a un App ID específico. APNs Auth Key es un enfoque más moderno: una sola clave (.p8) sirve para todas las aplicaciones de la cuenta, simplificando la gestión.

Tipo de certificadoPropósitoValidez
iOS App DevelopmentFirma para pruebas en dispositivos1 año
Apple DistributionPublicación en App Store y Ad Hoc1 año
Mac DevelopmentFirma de aplicaciones macOS para desarrollo1 año
Mac DistributionPublicación en Mac App Store1 año
APNs SSL (Sandbox)Notificaciones push en entorno de prueba1-3 años
APNs SSL (Production)Notificaciones push en producción1-3 años

Creación y gestión de certificados

La creación de un Apple Certificate comienza generando una solicitud de firma de certificado (CSR) a través de Keychain Access en macOS. Keychain Access crea un par de claves: la clave privada permanece en el llavero y la CSR se envía al Apple Developer Portal. Después de la verificación de identidad, Apple firma la CSR y emite un certificado listo (.cer) que debe descargarse e instalarse con doble clic.

Para gestionar múltiples proyectos y equipos, Apple permite crear certificados para diferentes Team ID. Un desarrollador puede ser miembro de varios equipos (a través de Apple Developer Program — App Store Connect), y se emiten certificados separados para cada equipo. Xcode cambia automáticamente los certificados según el equipo seleccionado en la configuración de Signing & Capabilities.

La revocación de un certificado es una operación crítica: todas las aplicaciones firmadas con este certificado dejan de instalarse en dispositivos nuevos (las ya instaladas continúan funcionando). Apple Developer Portal permite revocar cualquier certificado en la sección Certificates. Razones de revocación: compromiso de la clave privada, salida del desarrollador del equipo, incumplimiento de los términos del Apple Developer Program. Después de la revocación, se debe emitir un nuevo certificado y volver a firmar todas las compilaciones activas.

Keychain y exportación de certificados

Keychain (llavero) es el almacenamiento del sistema macOS para certificados, claves privadas y contraseñas. Todos los certificados Apple y las claves privadas correspondientes se almacenan en el llavero de inicio de sesión (login.keychain) del usuario. Xcode accede al Keychain al firmar código, seleccionando automáticamente el certificado adecuado según el tipo de compilación. Para diagnosticar problemas de firma, es útil usar la utilidad integrada Keychain Access (carpeta /Applications/Utilities).

La exportación de un certificado para CI/CD se realiza a través de Keychain Access: selecciona el certificado y la clave privada correspondiente (deben estar expandidos en una misma fila), haz clic derecho y elige Exportar. El formato es PKCS12 (.p12). Durante la exportación, Keychain solicitará una contraseña para proteger el archivo — esta contraseña se necesitará al importar en el servidor CI. Sin la clave privada, el certificado exportado es inútil para firmar — solo puede usarse para verificar código ya firmado.

Importación de certificado en CI/CD

Ejemplo de comando para importar un certificado en el llavero del agente CI usando la utilidad security:

bash
# Creando un llavero temporal
security create-keychain -p "temp" build.keychain
security default-keychain -s build.keychain
security unlock-keychain -p "temp" build.keychain

# Importando el certificado desde .p12
security import certificate.p12 -k build.keychain \
  -P "${P12_PASSWORD}" -T /usr/bin/codesign

# Configurando la política de firma
security set-key-partition-list -S apple: -s \
  -k "temp" build.keychain

Security create-keychain crea un llavero temporal aislado del del usuario. Esto es importante para CI para no contaminar el llavero del sistema del agente. El indicador -T /usr/bin/codesign permite que la utilidad codesign acceda a las claves sin solicitar contraseña — de lo contrario, la firma automática en el pipeline se interrumpiría con un diálogo. El comando set-key-partition-list es necesario para la compatibilidad con los requisitos de firma de código de macOS en modo automatizado.

Problemas con certificados y soluciones

El error más común es “No signing certificate found” al compilar en Xcode. Ocurre cuando Keychain carece de un certificado con clave privada que coincida con el tipo de compilación seleccionado. Solución: verifica en Keychain Access si el certificado existe, descárgalo de Apple Developer Portal e instálalo. Si la clave privada se perdió (ordenador antiguo, reinstalación del sistema), es necesario revocar el certificado antiguo y emitir uno nuevo.

El error “Valid signing certificate not found” en CI/CD ocurre si el agente no tiene instalados los certificados intermedios de Apple (Apple Worldwide Developer Relations CA). Apple incluye los certificados intermedios en la cadena al descargar el certificado del desarrollador, pero pueden faltar al exportar manualmente .p12. Solución — descarga los certificados intermedios del sitio de Apple Certificate Authority e instálalos en el llavero del agente CI.

Un problema de certificado vencido se manifiesta con el error “This certificate has an invalid issuer” al firmar. Apple Developer Portal muestra el estado de cada certificado y su fecha de vencimiento. Si una aplicación ya está publicada en App Store con un certificado vencido, continúa funcionando — App Store utiliza su propio certificado de Apple para la distribución. Sin embargo, para subir una nueva compilación se necesita un certificado Distribution válido. Fastlane incluye el comando cert para crear y renovar certificados automáticamente.

Preguntas frecuentes

¿Se puede usar un mismo Apple Certificate para aplicaciones iOS y macOS?

No, para iOS y macOS se emiten tipos diferentes de certificados — iOS App Development y Mac Development. El certificado Apple Distribution también está separado por plataforma. Al crear un certificado en Apple Developer Portal, debes especificar la plataforma objetivo — no existe un certificado universal para todas las plataformas.

¿Qué hacer si se pierde la clave privada del certificado?

Debes revocar el certificado antiguo en Apple Developer Portal a través de Certificates, Identifiers & Profiles. Luego crear una nueva CSR mediante Keychain Access y emitir un nuevo certificado. Todas las aplicaciones firmadas con el certificado antiguo necesitarán ser refirmadas y subidas nuevamente a App Store si se desea publicar una actualización.

¿Cuántos certificados puede tener una cuenta de Apple Developer?

Una cuenta de Apple Developer Program permite un máximo de dos certificados Distribution y un número ilimitado de certificados Development simultáneamente. Las cuentas Enterprise tienen límites separados. Si se alcanza el límite de certificados Distribution, es necesario revocar uno de los existentes antes de crear uno nuevo.

¿Cómo verificar la fecha de vencimiento de un certificado desde la línea de comandos?

Usa la utilidad security: security find-identity -v -p basic lista todos los certificados en el llavero con fechas de vencimiento. Para un certificado específico, indica su hash SHA-1: security find-certificate -c “Developer” -p | openssl x509 -noout -enddate.

¿Afecta el cambio de cuenta Apple ID a los certificados existentes?

Sí, los certificados están vinculados a una cuenta de Apple Developer específica (Team ID). Al cambiar de cuenta, los certificados antiguos se vuelven inválidos para el nuevo Team ID. Xcode, al cambiar de cuenta en Accounts Preferences, solicita automáticamente la creación de nuevos certificados para el nuevo equipo.

Resumen

  • Apple Certificate — un certificado digital X.509 emitido por Apple CA para confirmar la identidad del desarrollador al firmar código
  • El certificado Development permite ejecutar aplicaciones en dispositivos físicos sin publicar en App Store
  • El certificado Distribution es necesario para enviar una aplicación a App Store y para distribución Ad Hoc
  • Los certificados o tokens APNs son necesarios para enviar notificaciones push a través de los servidores de Apple
  • La clave privada se almacena en el Keychain del desarrollador y no se puede recuperar si se pierde — se requiere revocación del certificado
  • La exportación PKCS12 se usa para transferir certificados entre ordenadores y a sistemas CI/CD
  • La cadena de confianza de Apple incluye el certificado raíz, intermedio y del desarrollador — romper cualquier eslabón bloquea la firma

Desarrollaremos una aplicación móvil llave en mano

IT Sectr crea aplicaciones para iOS y Android para startups y empresas desde 2017. Le asesoraremos y le propondremos la mejor solución.

Discutir el proyecto

Lea también