Saltar al contenido principal

Firma de Apple

Generador de certificados iOS

Crea un certificado de desarrollo o distribución de iOS sin necesidad de un Mac. Genera el Certificate Signing Request (CSR) y la clave privada aquí, sube el CSR a Apple y convierte el certificado emitido en un archivo .p12 para firmar.

  • Crea un CSR listo para Apple sin usar Keychain Access ni un Mac, desde Windows, Linux o macOS.
  • Funciona con certificados Apple Distribution (App Store, TestFlight, ad hoc) y Apple Development.
  • Convierte el .cer emitido a .p12 directamente en esta página, desde tu navegador, para Xcode, fastlane, CI o Capgo Cloud Build.

Flujo de trabajo

  1. 1. Introduce los datos del sujeto del certificado que quieras incluir en la solicitud de firma.
  2. 2. Descarga el CSR y su clave privada correspondiente.
  3. 3. Sube el CSR en Apple Developer al crear tu certificado.
  4. 4. Convierte el .cer emitido y la clave privada en un .p12 con contraseña en el paso 2 de abajo.

Paso 1

Generar el CSR y la clave privada

Usa la misma identidad de persona u organización que quieras que aparezca en la solicitud del certificado de Apple.

Resultado

Tu solicitud de firma generada

No se mostrará nada hasta que se genere el CSR. Una vez listo, descarga ambos archivos y guarda la clave privada de forma segura.

Genera una solicitud de certificado para ver el resumen del sujeto y los botones de descarga aquí.

Paso 2

Convierte tu .cer de Apple a .p12

Una vez que Apple emita tu certificado, combínalo .cer con la clave privada del paso 1 para obtener un .p12 para Xcode, fastlane, CI o Capgo Cloud Build.

Se ejecuta totalmente en tu navegador. Tu certificado, clave privada y contraseña se leen localmente y nunca se suben a ningún servidor.

El archivo distribution.cer o development.cer de Apple Developer. Se aceptan formatos DER y PEM.

El archivo ios-private-key.pem descargado con el CSR que subiste a Apple.

Resultado

Tu identidad de firma .p12

Selecciona tu .cer y clave privada, establece una contraseña y genera el .p12. Utiliza cifrado 3DES con un MAC SHA-1, el formato que aceptan Xcode y el Keychain de macOS.

Basics

¿Qué es un certificado de firma de iOS?

Apple exige que cada app de iOS esté firmada con code. Un certificado de firma demuestra que el build proviene de un miembro de tu equipo de Apple Developer; iOS rechazará instalar o ejecutar apps cuya firma no pueda validar.

Para obtenerlo necesitas tres archivos. El CSR (.csr) contiene tu identidad y clave pública y se envía a Apple. El clave privada (.pem) se queda contigo. El certificado (.cer) es lo que Apple te devuelve. Las herramientas de build necesitan el certificado y la clave privada juntos como un .p12 archivo.

En un Mac, Keychain Access crea el CSR y oculta la clave privada en tu keychain de inicio de sesión. Este generador te entrega ambos archivos directamente, para que puedas crear un certificado de Apple Distribution o Apple Development desde Windows, Linux o un runner de CI, sabiendo siempre dónde está la clave.

Seguridad y privacidad

Cómo se gestiona tu clave privada

  • El CSR y la clave privada RSA de 2048 bits se generan bajo demanda mediante un endpoint stateless de Capgo vía HTTPS y se devuelven directamente a tu navegador.
  • Las respuestas se envían con Cache-Control: no-store. Nada se guarda en una base de datos ni se conserva tras la respuesta.
  • El CSR se firma con SHA-256, el formato que espera Apple Developer. Solo se sube el CSR a Apple; la clave privada se queda contigo.
  • El conversor de .cer a .p12 se ejecuta totalmente en tu navegador. Tu certificado, clave privada y contraseña nunca se suben.
  • No necesitas cuenta ni registro, y las peticiones tienen un límite de frecuencia para evitar abusos.

¿Prefieres generar la clave localmente? Este comando de OpenSSL produce los mismos dos archivos.

Comando OpenSSL equivalente
openssl req -new -newkey rsa:2048 -nodes \
  -keyout ios-private-key.pem \
  -out ios-certificate-request.csr \
  -subj "/emailAddress=jane@company.com/CN=Jane Doe/C=US"

Paso a paso

Cómo crear un certificado de distribución de iOS sin un Mac

Del CSR a un build firmado en TestFlight. Cada paso funciona desde el navegador y la terminal en Windows, Linux o macOS.

  1. Paso 1

    Generar el CSR y la clave privada

    Introduce tu nombre, email y el código de país de dos letras code en el formulario y selecciona Generate CSR and private key. Descarga ambos archivos y guarda la clave privada de forma segura.

  2. Paso 2

    Crea el certificado en Apple Developer

    Inicia sesión en developer.apple.com, abre Certificates, Identifiers & Profiles, pulsa el botón más y elige Apple Distribution o Apple Development.

  3. Paso 3

    Sube el CSR y descarga el .cer

    Sube el archivo ios-certificate-request.csr, continúa y descarga el certificado emitido, normalmente llamado distribution.cer o development.cer.

  4. Paso 4

    Convierte el .cer a un archivo .p12

    Usa el conversor de .cer a .p12 en el paso 2 de esta página: selecciona el .cer y la clave privada, establece una contraseña y descarga el .p12. Se ejecuta en tu navegador, o puedes usar el comando OpenSSL.

  5. Paso 5

    Crea un provisioning profile

    En Apple Developer, crea un provisioning profile de App Store, ad hoc o development para tu App ID y selecciona el nuevo certificado.

  6. Paso 6

    Firma y publica tu app

    Importa el .p12 y el perfil en Xcode, fastlane, tus secretos de CI o Capgo Cloud Build, luego compila y sube tu app a TestFlight o a la App Store.

Usa el resultado

Firma tu app de iOS con el .p12

La vía más rápida es el conversor de .cer a .p12 en el navegador de arriba. ¿Prefieres la línea de comandos? OpenSSL hace lo mismo; te pedirá una contraseña de exportación que será la contraseña de tu .p12.

Crea el .p12 con OpenSSL

OpenSSL viene preinstalado en macOS y en la mayoría de las distribuciones Linux, y está disponible en Windows vía Git Bash o WSL.

Convierte .cer a .p12
# 1. Convert Apple's DER .cer to PEM
openssl x509 -inform DER -in distribution.cer -out distribution.pem

# 2. Bundle the certificate and private key into a .p12
#    -legacy (OpenSSL 3) keeps the file compatible with macOS Keychain.
#    Drop it on OpenSSL 1.1 or LibreSSL, which do not support the flag.
openssl pkcs12 -export -legacy \
  -inkey ios-private-key.pem \
  -in distribution.pem \
  -name "Apple Distribution" \
  -out distribution.p12

Cloud Build de Capgo

Guarda el .p12 y el provisioning profile una vez y luego compila y firma apps de iOS y Android en la nube con Capgo.

Capgo CLI
bunx @capgo/cli@latest build credentials save \
  --platform ios \
  --certificate ./distribution.p12 \
  --p12-password "your-p12-password" \
  --ios-provisioning-profile "com.example.app=./profile.mobileprovision" \
  --apple-team-id "TEAM123456"

fastlane y Xcode

En un Mac, haz doble clic en el .p12 para importarlo al Keychain y Xcode lo detectará. En un CI runner, impórtalo en un keychain temporal con fastlane.

Fastfile
import_certificate(
  certificate_path: "distribution.p12",
  certificate_password: ENV["P12_PASSWORD"],
  keychain_name: "build.keychain",
  keychain_password: ENV["KEYCHAIN_PASSWORD"]
)

Secrets de CI y verificación de claves

Codifica archivos de firma para secretos de GitHub Actions o GitLab, y confirma que el certificado coincida con la clave privada.

base64 y OpenSSL
# Encode the .p12 and profile for CI secrets
base64 -i distribution.p12 | tr -d '\n' > p12.base64
base64 -i profile.mobileprovision | tr -d '\n' > profile.base64

# Check that the certificate and key match (both hashes must be equal)
openssl x509 -noout -modulus -in distribution.pem | openssl md5
openssl rsa -noout -modulus -in ios-private-key.pem | openssl md5

Solución de problemas

Errores comunes de certificados iOS y soluciones

La contraseña introducida es incorrecta (importación de Keychain)
OpenSSL 3 cifra archivos .p12 con algoritmos que macOS Keychain puede rechazar. Re-exporta el .p12 con OpenSSL 3 y el flag -legacy mostrado arriba.
Ningún certificado coincide con la clave privada
El archivo .cer se emitió para un CSR distinto. Usa la clave privada descargada con ese mismo CSR, o revoca el certificado y empieza de nuevo con un nuevo CSR.
no se pudieron cargar los certificados
Apple entrega archivos .cer en formato DER. Añade -inform DER al convertir el .cer con openssl x509.
El provisioning profile no incluye el certificado de firma
Los provisioning profiles están vinculados a certificados específicos. Edita o regenera el provisioning profile tras crear el nuevo certificado y descárgalo de nuevo.
Has alcanzado el número máximo de certificados
Apple limita la cantidad de certificados de distribución por equipo. Revoca uno que no uses en Apple Developer. Las apps en la App Store no se verán afectadas.
El certificado no es de confianza en Keychain
Instala el certificado intermedio actual Apple Worldwide Developer Relations (WWDR) desde Apple PKI y luego importa el .p12 de nuevo.

Después de la firma

Lanza fixes web sin pasar de nuevo por la tienda

Una vez firmado el binario nativo, las live updates de Capgo pueden entregar cambios de la capa web Capacitor por OTA: canales, rollback y cualquier CI/CD que ya uses. Pruébalo gratis cuando estés listo para integrar OTA en el mismo flujo de release.

FAQ

FAQ del generador de certificados iOS

Respuestas sobre CSR, tipos de certificados, conversión a .p12, cuentas de Apple Developer y el uso de certificados en CI o cloud builds.

¿Qué genera este generador de certificados iOS?

Crea un Certificate Signing Request (.csr) y su clave privada RSA de 2048 bits correspondiente (.pem). Sube el CSR a Apple Developer para obtener tu certificado Apple Distribution o Apple Development (.cer), luego combina el .cer con la clave privada para crear un archivo .p12 para Xcode, fastlane, CI o Capgo Cloud Build.

¿Qué es un Certificate Signing Request (CSR)?

Un CSR es un archivo pequeño que contiene tu clave pública y tus datos de identidad (nombre, email, país), firmado con tu clave privada. Apple lo usa para emitir un certificado de firma vinculado a esa clave. La clave privada nunca llega a Apple, por eso debes guardar el archivo .pem que te entrega esta herramienta.

¿Puedo crear un certificado de distribución de iOS sin un Mac?

Sí. Genera el CSR y la clave privada aquí, sube el CSR al portal de Apple Developer desde cualquier navegador, descarga el .cer y conviértelo a .p12 con el conversor del paso 2 de esta página. Todo funciona en Windows, Linux o macOS, por lo que no necesitas Keychain Access en ningún momento.

¿Qué tipo de certificado debo elegir en Apple Developer?

Elige Apple Development para ejecutar builds en dispositivos de prueba registrados desde Xcode. Elige Apple Distribution para firmar builds para la App Store, TestFlight y distribución ad hoc. El mismo CSR sirve para ambos; el tipo se selecciona en Apple Developer, no en esta herramienta.

¿Se almacena la clave privada en el servidor?

No. En el paso 1, el CSR y la clave privada se generan bajo demanda mediante un endpoint Capgo stateless sobre HTTPS y se devuelven directamente a tu navegador con Cache-Control: no-store; nunca se escriben en una base de datos ni se guardan tras la respuesta. En el paso 2, el conversor de .cer a .p12 se ejecuta totalmente en tu navegador y no sube nada. Si tu política requiere generación local de claves, usa el comando OpenSSL equivalente que aparece en esta página.

¿Por qué debo convertir el archivo .cer a .p12?

El archivo .cer que te da Apple solo contiene el certificado público. Para firmar una app también hace falta la clave privada, así que las herramientas de build esperan un .p12 que incluya el certificado y la clave privada protegidos con una contraseña.

¿Cómo convierto un .cer a .p12?

Usa el paso 2 de esta página: selecciona el .cer de Apple (DER o PEM), selecciona la clave privada .pem usada para crear el CSR, introduce una contraseña y selecciona Build .p12 file. El navegador verifica que el certificado coincida con la clave y genera un .p12 cifrado con 3DES que macOS Keychain, Xcode y fastlane aceptan. No se sube nada. También puedes copiar el .p12 como base64 para secretos de CI.

¿Necesito una cuenta de Apple Developer?

Sí. Subir un CSR y emitir certificados de firma requieren una membresía de pago del Apple Developer Program (99 USD al año, o el programa Enterprise para distribución interna). El CSR en sí se puede generar sin cuenta.

¿Cuánto dura un certificado de firma de iOS?

Los certificados Apple Development y Apple Distribution son válidos por un año. Las apps que ya están en la App Store siguen funcionando aunque el certificado expire o se revoque, pero necesitarás un nuevo certificado y provisioning profile para firmar el siguiente build.

¿Puedo reutilizar el mismo CSR o clave privada?

Puedes hacerlo, pero un par de claves nuevo por certificado es más seguro y más fácil de rotar. Lo que no debes hacer es mezclarlos: un .cer solo funciona con la clave privada exacta que creó su CSR. Si pierdes la clave, revoca el certificado y genera un nuevo CSR.

¿Puedo usar este CSR para certificados de notificaciones push (APNs)?

Sí. Apple también pide un CSR cuando creas un certificado SSL de APNs. Para apps nuevas, una clave de autenticación APNs (.p8) suele ser más sencilla porque nunca expira y funciona para todas tus apps.

Capgo Native Build

Compila y firma apps iOS y Android en la nube con Capgo

Sube el .p12 y el provisioning profile que crees con esta herramienta, lanza builds de release desde tu CI y publica en TestFlight o la App Store sin mantener tu propia build farm.

Explora Native Build