Cómo crear un certificado P12 para la distribución de iOS

103

Tenemos una aplicación de iOS cuyo certificado de notificación de inserción ha caducado y estamos intentando crear una nueva. Creé nuevos certificados en el portal de aprovisionamiento (ios_developer.cer, ios_distribution.cer) y los descargué. Estaba siguiendo las instrucciones aquí en Stack Overflow para convertirlo a PEM y luego a archivos P12, pero estoy atascado. Cuando luego intento convertir el PEM a P12, quiere una clave privada de algún tipo y no sé dónde conseguirla.

También intenté cargarlos en Keychain Access. Había leído que podía exportarlos como P12 desde allí, pero cuando hago la importación, no aparecen en ninguna parte.

RobG
fuente

Respuestas:

127

Su clave privada se genera cuando creó la solicitud de firma en Keychain Access. Una vez generado y descargado el certificado, al hacer doble clic en él, se agregará a Keychain Access, donde se combinará con la clave privada. Luego, puede seleccionar el certificado y abrir la flecha para seleccionar también la clave privada y exportarlos juntos como un archivo .p12 desde Keychain Access.

picciano
fuente
12
No importa; Lo averigué. Hombre, no es de extrañar que la gente tenga tantos problemas con esto ... ¡es confuso!
RobG
14
Sería bueno, pero la p12 está atenuada para mí :(
Rob
14
@Rob debe seleccionar la clave privada y no el certificado completo. En los llaveros en la parte superior izquierda, seleccione "Iniciar sesión" y luego, debajo de Categoría, seleccione "certificados", verá que el certificado tiene una flecha desplegable ahora, haga clic en él y la clave privada mostrará el clic derecho y exportará el sombrero como .p12
tutts
6
Tampoco obtengo la opción desplegable. Hice doble clic en el certificado después de descargarlo y aparece en el llavero de inicio de sesión, pero no debajo de la clave privada. Solo lo veo en Certificados, no hay conexión entre la clave y el certificado que puedo ver.
setherj
6
igual que aquí. Sin menú desplegable, p12 atenuada
trainoasis
76

Los archivos .p12 se utilizan para publicar aplicaciones en la App Store de Apple

A. Cree un archivo CSR (.certSigningRequest)

  1. Abrir acceso a llaveros desde Utilidades
  2. Desde la barra de herramientas de Acceso a Llaveros, seleccione Acceso a Llaveros -> Preferencia
  3. En la ventana emergente, seleccione la pestaña Certificados
  4. Establezca "Protocolo de estado de certificados en línea" y "Lista de revocación de certificados" en "Desactivado"
  5. Cierra esta ventana
  6. Ahora, desde la barra de herramientas, abra Acceso a llaveros> Asistente de certificados> Solicitar un certificado de una autoridad de certificación
  7. Ingrese la dirección de correo electrónico y el nombre común que utilizó para registrarse en el Programa para desarrolladores de iOS
  8. Mantenga CA Email en blanco y seleccione "Guardado en disco" y "Permítame especificar la información del par de claves"
  9. Haga clic en Continuar
  10. Elija un nombre de archivo y un destino en su disco duro
  11. Clic en Guardar
  12. En la siguiente ventana, establezca el valor "Tamaño de clave" en "2048 bits"
  13. Establezca "Algoritmo" en "RSA"
  14. Haga clic en Continuar

Esto creará y guardará su archivo certSigningRequest (CSR) en su disco duro. También se creará una clave pública y privada en Keychain Access con el nombre común ingresado.

B. Cree un archivo ".cer" en la cuenta de desarrollador de iOS

  1. Inicie sesión en la cuenta de desarrollador de Apple Haga clic en "Certificados, identificadores y perfiles"
  2. Haga clic en "Perfiles de aprovisionamiento".
  3. En la sección "Certificados", haga clic en "Producción".
  4. Haga clic en el botón "Agregar" (+) en la parte superior derecha del panel principal
  5. Ahora, elija "App Store y Ad Hoc"
  6. Haga clic en Continuar
  7. Haga clic en "Elegir archivo" y busque el archivo CSR que ha creado desde su disco duro
  8. Haga clic en Generar
  9. Haga clic en Descargar para obtener el archivo

C. Instalar .cer y generar certificado .p12

  1. Busque el archivo .cer que ha descargado y haga doble clic
  2. Establezca el menú desplegable Inicio de sesión en "iniciar sesión" y haga clic en Agregar
  3. Abra KeyChain Access y encontrará el perfil creado en el Paso A
  4. Puede expandir el perfil de "clave privada" (muestra el certificado que agregó)
  5. Seleccione solo estos dos elementos (no la clave pública)
  6. Haga clic derecho y haga clic en "Exportar 2 elementos ..." desde la ventana emergente
  7. Ahora asegúrese de que el formato del archivo sea ".p12" y elija el nombre del archivo y el destino en su disco duro
  8. Clic en Guardar. Ahora, se le pedirá que establezca una contraseña, pero manténgalas en blanco
  9. Haga clic en Aceptar. Ahora tienes un archivo .p12 en tu disco duro

Tenga en cuenta que si el problema persiste, intente también el paso siguiente:

Si su llavero está presente en iCloud, elimine todo el contenido del llavero de iCloud y realice una nueva configuración en iCloud. Esto debería funcionar.

Jayprakash Dubey
fuente
Eliminé accidentalmente mi clave privada de ke-chain. así que ahora no puedo ver la clave privada debajo del certificado. Tengo un archivo CSR, ¿cómo instalar la clave privada nuevamente desde CSR?
Avijit Nagare
1
Me costó mucho entender el proceso de Apple para generar un archivo .p12 ya que soy un tipo de Windows Phone y esta publicación realmente me ayudó a entenderlo.
Mohammed Aamir K
1
Instrucciones muy útiles. Muchas gracias. Ahorró mucho tiempo.
Alix
¿Por qué desactivar 'Protocolo de estado de certificado en línea' y el otro?
Nate
1
Resolví este problema. Para explicarte lo que hice: asegúrate de que tu llavero no aparezca en iCloud. Una vez que está allí, existe el riesgo de que tenga el problema anterior. Desinstalé todo, hice una nueva configuración sin usar los datos en mi iCloud, luego funcionó.
Nazar Medeiros
32

¡OK, problema resuelto! parece que cuando hago doble clic en el certificado, lo instala automáticamente en el llavero del SISTEMA, no sé por qué. Entonces, en cambio, simplemente arrastro y suelto el certificado en el llavero LOGIN y luego todo está bien. Gracias a este artículo -> Agregar certificados al llavero y generar formato de archivo .p12 - alon rosenfeld hace 10 meses

Abraham lopez
fuente
1
Oh wow. Pasé horas tratando de resolver esto. Habría desperdiciado otra semana si no fuera por esta respuesta.
B Seven
1
Muchas gracias. Perdí horas tratando de resolver esto.
SaltedBlowfish
1
Sí, horas perdidas, ahorradas :)
Sahan
29

no obtendrá la opción de expansión a menos que filtre eligiendo (Certificados) en la esquina inferior izquierda del llavero

albaiti
fuente
3

Para cualquiera que todavía tenga este problema, la solución para mí fue NO seleccionar ambos y "Exportar 2 elementos" (la clave y el certificado), en lugar de exportar el certificado que YA incluye la clave. A partir de 2016, creo que esta es la forma de hacerlo porque las cargas anteriores que funcionaron con los elementos de exportación 2 ya no funcionan.

Jessicardo
fuente
No puedo exportar solo el certificado como p12, ¿está seguro de que esta es la forma correcta?
Cecil Rodríguez
Igual que aquí. Esto es muy importante.
Gautam Jain
3

Para obtener su archivo p12, siga este camino ...

Paso 1. En XCode > Ir a Ajustes del proyecto > Generales > Firma sección> certificado de firma

Vea qué certificado está utilizando para esta aplicación en particular como se muestra en la imagen a continuación

ingrese la descripción de la imagen aquí

Paso 2. Abra Llavero > en la sección Categoría inferior izquierda > Certificados

Busque el certificado y abra el niño haciendo clic en la flecha hacia abajo como se muestra en la imagen

ingrese la descripción de la imagen aquí

Paso 3. Haga clic derecho y exporte como "Certificados.p12" dando su contraseña, por ejemplo. "123456"

SwiftBoy
fuente
No tengo esa flecha para expandir
Nazar Medeiros