Forma correcta de renovar el certificado de distribución para iOS

303

Mi certificado de distribución vence el 7 de junio, junto con todos mis archivos de aprovisionamiento. ¿Cómo lo renuevo adecuadamente? ¿Debo revocarlo ahora y solicitar uno nuevo? Si hago eso, ¿se eliminarán todas mis aplicaciones en vivo?

usuario1413558
fuente
77
Por alguna razón, después de no usar esta cuenta durante años, recibí una notificación sobre esta respuesta. No estoy muerto (todavía). También me gustaría agradecer a todos en StackOverflow a lo largo de los años por ayudarme. Escribí esta pregunta cuando tenía 14 años (ahora 21). Desde entonces, he seguido creando aplicaciones para iOS, y pronto comenzaré un papel a tiempo completo en Apple (mi sueño desde que tengo memoria). ¡Gracias nuevamente a todos los que ayudaron en el camino!
user1413558
¡gran historia! si los años pasan Ni siquiera puede imaginar cómo se realizó la programación antes del control de calidad en línea. aplausos
Fattie
@Fattie ¿Por qué la advertencia? Pequeños cambios en la interfaz de usuario en las páginas de Apple, la respuesta aceptada sigue siendo correcta. No todo se vuelve mal automáticamente solo porque es viejo.
Theo
hola @Theo, creo que hubo una larga discusión (ahora eliminada), así que mi comentario (¡lo acabo de eliminar!) no tiene sentido específico, gracias por señalar. Tenga en cuenta que en este caso específico, la respuesta de Ticked de 5 años tiene información incorrecta, como, por ejemplo, explica SLBarth.
Fattie

Respuestas:

357

Sus aplicaciones en vivo no serán eliminadas. No pasará nada a nada que esté en vivo en la tienda de aplicaciones.

Una vez que caducan formalmente, lo único que se verá afectado es su capacidad para firmar código (y, por lo tanto, hacer nuevas compilaciones y proporcionar actualizaciones).

Con respecto a su certificado de distribución, una vez que caduca, simplemente desaparece de la sección 'Certificados, identificador y perfiles' del Centro de miembros. Si desea renovarlo antes de que caduque, revoque el certificado actual y obtendrá un botón para solicitar uno nuevo.

Con respecto al perfil de aprovisionamiento, no se preocupe por eso antes de que caduque, solo siga usándolo. Es bastante fácil renovarlo una vez que caduca.

La tranquilidad es que no le pasará nada a su aplicación en vivo en la tienda.

Andy Obusek
fuente
77
Gracias, expiraron hoy. Los renovó sin problemas.
user1413558
30
Solo para tu información. Revoqué un certificado utilizado para la distribución empresarial y NO tuve la opción de renovarlo. Simplemente se había ido. La aplicación estaba inactiva (no instalable) hasta que la reconstruí con el nuevo certificado.
2013
34
¡Oye, no revoques tu certificado interno! Sus aplicaciones internas no funcionarán después de un reinicio / 3 días, a menos que pueda actualizar todas sus aplicaciones en ese período de tiempo. Apple le permite crear 2 aplicaciones internas para que se superpongan entre sí y luego actualice sus nuevas aplicaciones con ellas. No lo revoques. Lo único que puede revocar es el Certificado de App-Store sin detener las aplicaciones existentes.
mskw
13
Estrictamente hablando, no puede renovar certificados, debe generar nuevos certificados; consulte developer.apple.com/library/ios/#documentation/IDEs/Conceptual/…
mklement0
2
Enlace actualizado a los documentos de Apple sobre esto: developer.apple.com/library/ios/documentation/IDEs/Conceptual/…
qix
348

Cuando su certificado caduca, simplemente desaparece de la sección 'Certificados, identificador y perfiles' del Centro de miembros. No hay un botón 'Renovar' que le permita renovar su certificado. Puede revocar un certificado y generar uno nuevo antes de que caduque . O puede esperar a que caduque y desaparezca, y luego generar un nuevo certificado. En la Guía de distribución de aplicaciones de Apple :

Reemplazo de certificados vencidos

Cuando caduque su certificado de desarrollo o distribución, elimínelo y solicite un nuevo certificado en Xcode.

Cuando su certificado caduque o sea revocado, cualquier perfil de aprovisionamiento que hizo uso del certificado caducado / revocado se reflejará como 'No válido'. No puede compilar ni firmar ninguna aplicación con estos perfiles de aprovisionamiento no válidos. Como puede imaginar, prefiero revocar y regenerar un certificado antes de que caduque.

P: Si hago eso, ¿se eliminarán todas mis aplicaciones en vivo?

Las aplicaciones que ya están en la App Store continúan funcionando bien. Nuevamente, en la Guía de distribución de aplicaciones de Apple :

Importante: Volver a crear sus certificados de desarrollo o distribución no afecta a las aplicaciones que ha enviado a la tienda ni a su capacidad para actualizarlas.

Entonces…

P: ¿Cómo lo renuevo correctamente?

Como se mencionó anteriormente, no hay renovación de certificados. Siga los pasos a continuación para revocar y regenerar un nuevo certificado, junto con los perfiles de aprovisionamiento afectados. Las instrucciones se han actualizado para Xcode 8.3 y Xcode 9.

Paso 1: revoque el certificado que expira

Inicie sesión en el Centro de miembros > Certificados, identificadores y perfiles, seleccione el certificado que vence. Tome nota de la fecha de vencimiento del certificado y haga clic en el botón 'Revocar'.

Seleccione el certificado que vence y haga clic en el botón Revocar

Paso 2: (Opcional) Elimine el certificado revocado de su Llavero

Opcionalmente, si no desea tener el certificado revocado en su sistema, puede eliminarlos de su sistema. Desafortunadamente, la función 'Eliminar certificado' en Xcode> Preferencias> Cuentas> [ID de Apple]> Administrar certificados ... parece estar siempre deshabilitada, por lo que tenemos que eliminarlos manualmente usando Keychain Access.app (/ Aplicaciones / Utilidades / Acceso a llaveros. aplicación).

Opcionalmente, elimine el certificado revocado usando Keychain Access.app

Filtrar por 'inicio de sesión' Llaveros y categoría 'Certificados'. Localice el certificado que acaba de revocar en el Paso 1.

Dependiendo del certificado que acaba de revocar, busque 'Mac' o 'iPhone'. Los certificados de distribución de la tienda de aplicaciones de Mac comienzan con "Desarrollador de Mac de terceros", y los certificados de distribución de la tienda de aplicaciones de iOS comienzan con "Distribución de iPhone".

Puede ubicar el certificado revocado según el nombre del equipo, el tipo de certificado (Mac o iOS) y la fecha de vencimiento del certificado que anotó en el Paso 1.

Paso 3: solicite un nuevo certificado con Xcode

En Xcode> Preferencias> Cuentas> [ID de Apple]> Administrar certificados ..., haga clic en el botón '+' en la esquina inferior izquierda y seleccione el mismo tipo de certificado que acaba de revocar para permitir que Xcode solicite uno nuevo para usted .

Deje que Xcode solicite un nuevo certificado en Xcode> Preferencias> Cuentas> ID de Apple> Administrar certificados ...

Paso 4: actualice sus perfiles de aprovisionamiento para usar el nuevo certificado

Después de lo cual, regrese al Centro de miembros > Certificados, identificadores y perfiles> Perfiles de aprovisionamiento> Todos. Notará que cualquier perfil de aprovisionamiento que hizo uso del certificado revocado ahora se refleja como 'No válido'.

Observe que cualquier perfil de aprovisionamiento que hizo uso del certificado revocado ahora se refleja como 'No válido'

Haga clic en cualquier perfil que ahora sea 'Inválido', haga clic en 'Editar', luego elija el certificado recién creado, luego haga clic en 'Generar'. Repita esto hasta que todos los perfiles de aprovisionamiento se regeneren con el nuevo certificado.

Elija el certificado recién creado y haga clic en Generar

Paso 5: use Xcode para descargar los nuevos perfiles de aprovisionamiento

Sugerencia : Antes de descargar los nuevos perfiles con Xcode, es posible que desee borrar cualquier perfil de aprovisionamiento existente y posiblemente no válido de su Mac. Puede hacerlo eliminando todos los perfiles de~/Library/MobileDevice/Provisioning Profiles

De vuelta en Xcode> Preferencias> Cuentas> [ID de Apple], haga clic en el botón 'Descargar todos los perfiles' para pedirle a Xcode que descargue todos los perfiles de aprovisionamiento de su cuenta de desarrollador.

Haga clic en Descargar todos los perfiles para Xcode para descargar todos los perfiles recién generados

junjie
fuente
1
Hola Junjie, gracias! Estoy enfrentando este problema con Xcode 7. ¿Qué sucede con las aplicaciones lanzadas con el perfil de distribución de AdHoc si revoco el certificado de distribución? ¿Siguen vivos? Gracias
Frade
3
@Frade según Apple: Certificado de distribución de iOS (aplicaciones internas de uso interno), los usuarios ya no podrán ejecutar aplicaciones que se hayan firmado con este certificado. Debe distribuir una nueva versión de su aplicación que esté firmada con un nuevo certificado. Ver developer.apple.com/support/certificates
junio
Estaba preguntando acerca de AdHoc, pero probablemente sea la misma situación. Gracias
Frade
3
@junjie ¿Qué sucede en el caso de que la aplicación publicada en la tienda tenga derechos de notificaciones push? ¿Podrá seguir enviando notificaciones push una vez que el certificado haya caducado?
Otávio
44
@ Otávio sus certificados de distribución de aplicaciones (lo que estamos tratando en esta pregunta) es independiente de su certificado APNS. el certificado APNS no forma parte del binario de la aplicación. puede revocar / renovar su certificado APNS sin actualizar el binario de su aplicación. Es su servidor push el que requiere el certificado APNS.
junjie
21

A partir de enero de 2020 y Xcode 11.3.1 -

  • Abrir Xcode
  • Abra las preferencias de Xcode (Xcode-> Preferences o Cmd-,)
  • Haga clic en Cuentas
  • A la izquierda, haga clic en su ID de desarrollador
  • En la parte inferior derecha, haga clic en Administrar certificados ...
  • En la esquina inferior izquierda, haga clic en la flecha a la derecha del signo + (más)
  • Seleccione Apple Distribution en el menú.

Xcode creará automáticamente un certificado de Apple Distribution, lo instalará en Keychain Access y actualizará la información de firma de Xcode

(Nota: ahora se proporciona el único certificado de distribución de Apple en lugar del anterior certificado de distribución de iOS y equivalentes).

leanne
fuente
curioso: recibí mi correo de Apple para renovar el Certificado de Distribución iOS no hay información de que debería crear un certificado de Apple Distribution en su lugar.
ekkescorner
El correo electrónico no lo menciona, @ekkescorner. Está en los documentos en línea.
Leanne
2
este nuevo flujo de trabajo para volver a crear certificados suena demasiado fácil ;-) gracias de nuevo
ekkescorner
Gracias @leanne por la respuesta. Debería haber una opción de vencimiento para las antiguas respuestas irrelevantes anteriores en SO.
RobMac
11

Muy simple fue renovar su certificado. Vaya a su centro de miembros para desarrolladores y vaya a su perfil de aprovisionamiento y vea cuáles son los certificados Activo e Inactivo y seleccione Certificado inactivo y presione el botón Editar y luego presione el botón generar. Ahora su certificado de renovación exitosa por otro año. Gracias

Shanmugasundharam
fuente
@Shanmugasundharam, vamos a impulsar una nueva versión en la tienda de aplicaciones después de crear un perfil de aprovisionamiento.
Niraj Paul el
Esto todavía requiere un archivo .csr generado a partir de xcode, al menos, de lo que he encontrado. Desde developer.apple.com/account, voy a "Certificados, ID y Perfiles" -> "Perfiles". Veo un ReleaseProfile y un TestingProfile. Ambos muestran "Inválido" en la columna "Caducidad". Hago clic en ReleaseProfile, luego en "Editar". En "Certificados" dice "No hay certificados disponibles" con el botón "Crear certificado". Lo hago clic Luego selecciono "Distribución iOS" y "Continuar". Ahora, para crearlo, necesito "Elegir archivo", lo que significa cargar un archivo CSR, que supongo que solo se puede generar a partir de xcode.
Brent212
Descubrí que puedo generar una CSR simplemente ejecutando, en Linux: **** openssl req -nodes -newkey rsa: 2048 -keyout private_key.key -out cer_sign_request.csr **** No puedo creer que haya tantas respuestas a "cómo generar un certificado csr" que requiere xcode sin mencionar esta solución simple que no requiere desempolvar mi viejo mac y encender un IDE voluminoso.
Brent212
@NirajPaul Su aplicación seguirá funcionando para los usuarios que la descargaron de la tienda, e incluso funcionará para usted si la descarga de la tienda. Esto solo afecta a los usuarios que colocan la aplicación en el dispositivo utilizando un perfil de aprovisionamiento (es decir, lo compiló e instaló en su dispositivo desde xCode). Los usuarios del pasado, presente y futuro no notarán nada diferente. stackoverflow.com/a/7128502/3493877 Fuente de aquí
Shanmugasundharam
0

Este fue un hilo realmente útil, seguí los mismos pasos que @junjie mencionó, pero para mí sucedió algo extraño, los siguientes son los pasos que hice.

  1. Fui al portal del desarrollador y revocó el certificado que estaba a punto de caducar.
  2. Fui a XCode6.4 y en la configuración de la cuenta, el certificado aún mostraba válido, me volví loco.
  3. Luego abrí XCode7, allí se mostró el certificado con el botón "Restablecer" en lugar de crear y presioné el botón Restablecer y más tarde en el portal pude ver un certificado extendido presente. Esto es lo que Apple dice sobre el botón Restablecer

Si Xcode detecta un problema con una identidad de firma, muestra una acción apropiada en las preferencias de Cuentas. Si Xcode muestra un botón Crear, la identidad de firma no existe en el Centro de miembros o en su Mac. Si Xcode muestra un botón Restablecer, la identidad de firma no se puede usar en su Mac; por ejemplo, le falta la clave privada. Si hace clic en el botón Restablecer, Xcode revoca y solicita el certificado correspondiente.

  1. Intenté crear una ipa de Appstore con eso, solo para probar y funcionó bien, así que estoy guardado, pero aún no estoy seguro de lo que sucedió. Es posible que haya configurado varias cuentas en mi Mac, no lo sé.
anoop4real
fuente