Firma de aplicaciones de iPhone: no se pudo encontrar una identidad de firma válida que coincida con este perfil en su llavero

Estoy tirando de mi cabello por esto. Acabo de descargar el iPhone 3.0 SDK , pero ahora no puedo hacer que mis perfiles de aprovisionamiento funcionen. Esto es lo que he intentado:

  • Eliminar todos los perfiles de aprovisionamiento
  • Eliminar llavero de inicio de sesión
  • Crear un nuevo llavero de “inicio de sesión”, hacerlo predeterminado
  • Crear una nueva solicitud de firma de certificado
  • Crear nuevos certificados de desarrollador y distribución en el centro de desarrolladores de Apple
  • Descargar e instalarlos
  • Descargue el certificado de WWDR e instálelo
  • Cree un nuevo perfil de aprovisionamiento y haga doble clic para instalarlo

Todos los certificados son válidos, pero Xcode aún no los reconocerá. ¿Qué debo probar ahora?

Editar:

Reinstalé completamente Mac OS X y de una nueva instalación instalé el 3.0 SDK y todavía tengo el mismo problema.

Tuve el mismo problema ayer. Ahora, después de iniciar sesión en el portal de desarrolladores, para cada perfil de aprovisionamiento no válido, tiene un botón “Renovar”. Después de renovar y descargar el perfil de aprovisionamiento actualizado, todo parece funcionar como se esperaba, por lo que el problema definitivamente se resuelve 🙂

Actualización: puede que tenga que ponerse en contacto con Apple para obtener un botón “Renew”, o lo eliminaron, y la solución es simplemente descargarlo y agregarlo al llavero, sin necesidad de renovarlo.

Tuve el mismo problema: primero descargué mis certificados en mi pequeña MacBook mientras estaba en la carrera. Al tratar de instalar los certificados en mi iMac … me encontré con los problemas descritos en esta página.

Después de pasar horas tirando de mis pelos como muchos de ustedes, realicé los siguientes pasos para solucionarlo:

  1. Cierre todas sus cosas, excepto su página web que debe iniciar sesión en el centro de App Dev.

  2. Abre Xcode. Haga clic en VENTANA> ORGANIZADOR. Luego haga clic en la pestaña Dispositivos y seleccione “Perfiles de Aprovisionamiento” a la izquierda. Eso debería mostrar sus perfiles de aprovisionamiento. Resalte uno por uno (si hay más de 1), haga clic con el botón derecho y elimine el perfil. Sí, solo hazlo! Eliminarlos todos! (Seguí haciendo uno nuevo después de uno nuevo tratando de hacer que la cosa funcione).

  3. Desde la primera página que ve después de iniciar sesión en App Dev Center en el lado derecho, haga clic en “iOS PROVISIONING PORTAL”> (no “inicie el asistente”). En cambio, haz clic en el lado izquierdo. Seleccione CERTIFICADOS. Probablemente solo tendrá una línea en la lista con su nombre / compañía, desde allí haga clic en el lado derecho REVOKE. Haga clic en Aceptar para verificar que eso es lo que quiere hacer.

  4. En la misma página, haga clic en DISPOSITIVOS. Haga clic en la casilla junto a su dispositivo que está tratando de aprovisionar y haga clic en ELIMINAR SELECCIONADO. De nuevo, haga clic en Aceptar para verificar.

  5. Espere unos 2 minutos para que Apple haga lo suyo.

  6. Ahora haga clic en “INICIO” que se encuentra en el lado izquierdo de la navegación.

  7. Haga clic en “Iniciar asistente”

  8. crea una nueva ID de aplicación: llámala como quieras. Solo asegúrate de que sea lo suficientemente único como para saber que es el que acabas de crear porque los otros con los que has estado jugando todo el día no serán eliminados del Apples Dev Center.

  9. Debería poder seguir al rest del Asistente sin problemas: lo principal es que solo tiene que eliminar sus viejos perfiles de provisión y comenzar de nuevo.

¡Buena suerte!

Me encontré con el mismo problema. Esto se debe a que la clave privada del certificado no existe en su máquina.

  1. Si ahora está utilizando una máquina nueva y descarga el certificado del sitio web: puede exportar el certificado desde la máquina anterior y luego importarlo en la máquina nueva.

  2. Si comparte la cuenta de desarrollador con alguien: le pide al propietario de la cuenta que le envíe una invitación y se convierta en miembro del equipo de esa cuenta. Entonces puedes crear tu propio certificado desde cero.

  3. Si no desea manejar todo esto sh * t: simplemente revoque el certificado en el sitio web y elimine la copia en su máquina local. Luego solicita uno nuevo. Esta debería ser la mejor forma de resolver ese problema.

Lo que encontré fue que tenía que arrastrar el archivo distribution_identity.cer que descargué de la página “Certificados -> Distribución” en el portal del progtwig desarrollador al progtwig de acceso de llavero, luego este error desapareció.

Lo solucioné por

a) ir a la página de perfil de aprovisionamiento en el portal

b) Haga clic en Editar en el perfil de aprovisionamiento que está teniendo problemas (lado derecho).

c) Marque el casillero Certificado apropiado (no marcado de manera predeterminada) y seleccione la ID de la aplicación correcta (la anterior expiró)

d) Descargue y use el nuevo perfil de aprovisionamiento. Eliminar el (los) anterior (es).

Aparentemente hay 4 causas diferentes de este problema:

  1. A su llavero le falta la clave privada asociada con su desarrollador de iPhone o certificado de distribución de iPhone.
  2. A su Llavero le falta el Certificado Intermedio de Relaciones con Desarrolladores de Apple Worldwide.
  3. Su certificado fue revocado o ha expirado.
  4. El Protocolo de estado de certificado en línea (OCSP) o la Lista de revocación de certificados (CRL) están activados en las preferencias de Acceso de llavero

.

Después de revisar cuidadosamente el hilo aquí y verificar todas las soluciones propuestas por las personas, puedo afirmar con confianza que, después de seguir los pasos mencionados en los documentos para desarrolladores de Apple para crear archivos de CSR y de provisión móvil, ¡haz esto!

  1. Inicie Xcode.
  2. Seleccionar ventana-> Organizador
  3. Haga clic en este botón de actualización y esa barra amarilla sucia se eliminará al instante.

http://img.skitch.com/20100820-1ngm8an14c6fm3dt7g6j51d2nx.jpg

Créeme, solo tienes que hacer esto. No hay necesidad de repetir el proceso una y otra vez para asegurarse de hacerlo bien. Simplemente presione Actualizar, ingrese sus credenciales de inicio de sesión y listo.

Para mí, solo funcionó cuando el certificado y las dos claves estaban en el llavero de Login . Había creado un llavero de Desarrollo anteriormente, pero el organizador Xcode no encontraría las claves allí. Así que los moví de vuelta a Login , salí de la herramienta de llavero y ¡voila, el error en Xcode Organizer desapareció! Esto fue en Snow Leopard 10.6.2 con el 3.1.3 SDK.

Para los certificados de desarrollo, puede crear uno nuevo y asociarlo a un perfil. Sin embargo, para la distribución, como cuando vas a enviar a Apple, no puedes hacer esto y debes usar el certificado de distribución que creó el agente del equipo. El problema es que necesitas la clave privada en tu máquina. Es muy simple, sin embargo, para el agente del equipo que creó el certificado para copiar la clave privada, a continuación se encuentran las instrucciones de Apple, espero que esto ayude.

Es fundamental que guarde su clave privada en un lugar seguro en el caso de que necesite desarrollar en varias computadoras o decidir reinstalar el sistema operativo de su sistema. Sin su clave privada, no podrá firmar binarios en Xcode y probar su aplicación en cualquier dispositivo Apple. Cuando se genera una CSR, la aplicación Keychain Access crea una clave privada en su llavero de inicio de sesión. Esta clave privada está vinculada a su cuenta de usuario y no se puede reproducir si se pierde debido a una reinstalación del sistema operativo. Si planea realizar desarrollo y pruebas en múltiples sistemas, deberá importar su clave privada en todos los sistemas en los que trabajará.

  1. Para exportar su clave privada y certificado para su custodia y para permitir el desarrollo en múltiples sistemas, abra la Aplicación de acceso de llavero y seleccione la categoría ‘Claves’.
  2. Control: haga clic en la clave privada asociada con su certificado de desarrollo de iPhone y haga clic en ‘Exportar elementos’ en el menú. La clave privada está identificada por el Desarrollador de iPhone: certificado público que está emparejado con él.
  3. Guarde su clave en el formato de archivo Intercambio de información personal (.p12).
  4. Se le pedirá que cree una contraseña que se utilizará cuando intente importar esta clave en otra computadora.
  5. Ahora puede transferir este archivo .p12 entre sistemas. Haga doble clic en .p12 para instalarlo en un sistema. Se le pedirá la contraseña que ingresó en el Paso 4.

La mejor respuesta que obtuve fue exportar tu clave, en lugar de solo intentar importar el archivo cert.

Cuando exporta la clave del llavero que generó la solicitud, obtiene un archivo Certificates.p12, que combina las claves que necesita.

Luego, importe esto a la nueva computadora.

Con claves como esta, probablemente sea bueno mantener un archivo de paquete de certificado enrollado, ya que muchas veces la clave “pública” o el archivo cert no son suficientes para restaurar las cosas.

¿Intentó reiniciar su Mac y su dispositivo? Lame responde, pero siempre trato de eso primero.

En mi caso, copié el proyecto de mi iMac a mi Macbook Pro y descubrí que no tenía mi clave privada instalada en Macbook. Así que exporté mi clave privada, la copié e instalé en la Macbook y ¡listo! He documentado la información aquí: http://www.creatistblog.com/2009/09/iphone-developer-provisioning.html

Solo una nota con Xcode 4: en el organizador hay dos secciones diferentes en el panel izquierdo:

  1. Biblioteca> Perfiles de provisión

  2. Dispositivos> su dispositivo> Perfiles de provisión

Siempre ponía mis perfiles de aprovisionamiento en 2. e incluso después de limpiar e instalar correctamente no funcionaba. Luego descubrí 1. y finalmente encontré el botón de actualización. Si selecciona ‘Aprovisionamiento automático del dispositivo’ en 1. y hace clic en actualizar, todo se validó (ya no hay ninguna advertencia amarilla en 2.).

Lo hice funcionar después de volver a hacer todo y luego crear un proyecto vacío con XCode y comstackrlo / ejecutarlo en el dispositivo. XCode mostró una ventana preguntando algo como: ¿Desea aceptar el certificado de desarrollador? Presioné “Siempre”. Solo después de este paso me deshice del mensaje “No se encontró una identidad de firma válida que coincida con este perfil en su llavero” en Organizador.

Hola chicos, ayer tuve un montón de problemas con esto. Realicé todo el proceso varias veces, solicitando una nueva solicitud de certificado de la autoridad con el asistente, borrando todo en el portal, cargando el certificado, creando un nuevo perfil y descargando todo. No dados.

Sin embargo, mira esto.

Primero borre todos los certificados en el portal para comenzar de nuevo.

Después de crear la nueva solicitud de certificado con el asistente, presione “Mostrar en el buscador” y haga doble clic en ese chico malo. Debería obtener una ventana emergente para el Asistente de certificado con una pantalla que muestre “Especifique la entidad emisora ​​de certificados emisora”, etc. Si no lo hace, simplemente ciérrela y haga doble clic de nuevo. Ahora solo proceda a través del diálogo eligiendo “Solicitar un certificado de una CA existente” – Continuar solicitud es “Guardado en el disco” – Continuar Guarde donde quiera, incluso anule el archivo.

Al final deberías ver la magia “Crear par de claves”

¡Dirígete al acceso KeyChain y verás tus claves allí! Cargue este certificado en el portal Apple y luego revise el asistente de la forma habitual, todo debería funcionar bien ahora.

Hay dos certificados diferentes para dos perfiles de aprovisionamiento diferentes (desarrollo y distribución). Tienes que instalar AMBOS certificados en llavero. En el portal del progtwig para desarrolladores de iPhone:

Certificados -> Desarrollo -> Descargar certificados -> Distribución -> Descargar

Haga doble clic en ambos certificados. Después de eso, ambos certificados deben aparecer en Keychain.

La respuesta es esta revoque su Certificado de Desarrollo Actual y haga uno nuevo. siga las instrucciones en el sitio de manzanas sobre cómo hacerlo. ¡¡Es así de simple!! Yo tuve el mismo problema.

Pasos simples para hacer esto:

  1. Comience desde el llavero (que ya contiene su clave dev) en su computadora y cree una solicitud de certificado. Suba la solicitud al sitio de desarrollo y cree el certificado.
  2. Crea un perfil usando el certificado.
  3. Descargue el perfil y suéltelo en Xcode.

Ahora todos los puntos están conectados y debería funcionar. Esto funciona tanto para el desarrollador como para la distribución.

Ingresé a la cuenta de desarrollador y revoqué el certificado de desarrollo. Después de revocar y descargar el certificado de desarrollo, hice doble clic en el certificado recién descargado y esta vez, la clave privada estaba allí bajo el certificado de desarrollo en KeyChain Access.

Una buena forma de asegurarse de que esto suceda de forma limpia es primero limpiar tu llave de inicio de sesión.

Además, un paso realmente importante es desbloquear su llavero antes de importar la clave privada y la clave pública.

  security unlock-keychain -p password ~/Library/Keychains/login.keychain 

Importar clave privada en llavero de inicio de sesión:

 security import PrivateKey.p12 -k ~/Library/Keychains/login.keychain 

1 identidad importada

Importar clave pública en llavero de inicio de sesión:

 security import PublicKeyName.pem -k ~/Library/Keychains/login.keychain 

1 clave importada

Tuve el mismo problema, pero fue por la configuración de “FileVault” en mi Mac. Entré en mi llavero y configuré “iniciar sesión” para que fuera mi predeterminado y eso lo solucionó.

Que necesitas:

1) Una clave privada y una pública.

Ellos tienen este símbolo en tu llavero:

texto alternativo http://pici.se/pictures/IbNdRGuoy.png

2) Un certificado realizado a partir de la solicitud de firma de esas claves

3) Un perfil de aprovisionamiento vinculado a ese certificado

Digamos que cambias las computadoras y quieres configurar Xcode con los perfiles de provisión nuevamente. ¿Cómo lo haces?

  1. Abra Xcode, presione ctrl + O para abrir el Organizador y elimine todos los perfiles de suministro que ya haya instalado.
  2. Abra el acceso al llavero y cree una solicitud de firma que guarde en el archivo (cuando crea la solicitud, se crea una clave privada y pública en su llavero).
  3. Crear / Actualizar un certificado en el portal de aprovisionamiento enviando a apple esta solicitud de firma
  4. Descargue e instale el certificado recién creado.
  5. Revoca tus perfiles de aprovisionamiento y actualízalos con el nuevo certificado.
  6. Descargue e instale los perfiles de aprovisionamiento recién actualizados.

“Esto fue un error en el sitio del portal de Apple. Faltaban un campo necesario en el perfil de provisión. Solucionaron este error tarde el 16/06/09”.

No sé si realmente se lo saltaron o si mis ojos estaban simplemente vidriosos, pero …

Solo en caso de que alguien más pase por alto las mismas cosas que yo …

tal como cuando estabas desarrollando y probando …

1) Necesita una DISTRIBUCIÓN < < CERTIFICADO >> 2) Necesita una DISTRIBUCIÓN < < PROVISIONING PROFILE >>

Eso es DOS PASOS en el portal para poder firmar la cosa.

Ahí estaba, habiendo creado el desarrollador CERTIFICATE y lo copié a la carpeta Mobile Provisions, preguntándome por qué no funcionó.

Tan pronto como tuve el perfil de aprovisionamiento en su lugar

* BINGO *

Tuve exactamente el mismo problema e intenté todo. Por alguna razón, la solución fue que todos mis certificados migraron a un llavero llamado “microsoft_intermediate_certificates”. Como probablemente sucedió durante una actualización de Xcode, no tengo ni idea de por qué, pero puede ayudar a alguien.

Moví todo el contenido del llavero de Microsoft al llavero de inicio de sesión y todo volvió a la normalidad.

Finalmente conseguí que esto funcionara después de 4 bashs distintos después de incurrir en el mismo problema que se publicó originalmente. Así que esto es lo que sucedió, no estoy seguro si este es un tema viejo ahora (2009-07-09), pero lo publicaré de todos modos en caso de que sea útil para usted. Lo que funcionó para mí … podría funcionar para ti …

  1. comience de nuevo y elimine las claves privadas antiguas, las claves públicas y los certificados en el llavero
  2. realice todo el proceso, solicite un certificado de una autoridad de certificación, obtenga una nueva clave pública, una nueva clave privada y un nuevo certificado. Nota: cuando funcionó, tenía exactamente una clave privada, una clave pública y un certificado
  3. Cree un nuevo perfil de aprovisionamiento (que utiliza el certificado que acaba de crear) y colóquelo en la ventana de su organizador en Xcode. Eliminar todas las viejas BS.
  4. Ejecutarlo.

Espero que esto ayude.

Todos aquí están muy equivocados. Todo lo que necesita es seguir los pasos que proporciona Apple en la gestión de sus identidades digitales .

Le indica que exporte sus certificados a través de Xcode y vuelva a importar a través de Xcode. Funciona muy bien, pero asegúrese de que su nombre de usuario sea el mismo en ambas computadoras o fallará.

Acabo de pasar varias horas en este número de Fershlugginer, que surgió después de renovar mi licencia de desarrollo. Para reiterar, todo estaba funcionando sin problemas, entonces (¡gracias Apple!) Todo se arruinó y se arruinó. Ninguno de los pasos de solución de problemas oficiales de Apple (vinculados a los anteriores) ni los posibles pasos de resolución mencionados aquí resolvieron el problema por mí.

Lo que finalmente hizo por mí fue eliminar mis certificados de desarrollo y distribución, revocarlos en el portal de aprovisionamiento y luego dejar que Xcode los actualice / emita AUTOMÁTICAMENTE. Nada más, en cualquier orden, fue capaz de obtener los dos certificados necesarios en mi llavero con la clave privada correctamente conectada.

Aquí esta lo que hice.

  1. Asegúrese de que sus certificados no hayan expirado, asegúrese de eliminar todos los vencidos. Obtenga nuevos, etc. Una vez que se haya asegurado de que todo sea como debe ser, entonces concéntrese en los archivos de su proyecto.
  2. en el buscador, vaya a sus archivos .xcodeproj y luego muestre el paquete contentes.
  3. abra project.pbxproj en xcode o textedit.
  4. encuentre cada refrense a PROVISIONING_PROFILE y elimine el GUID, simplemente déjelo en blanco “” Dependiendo de su proyecto, debe tener aproximadamente 12 refrences, eliminar todos los GUIDS.

  5. Guarde el archivo, luego vuelva a abrir su proyecto en XCODE

  6. Vuelva a seleccionar los perfiles de provisión correctos para todas las posibles firmas de código (no todas deberían ser las mismas)
  7. Construye tu proyecto y deberías estar listo para ir.

Creo que Xcode se confunde de algún modo, y eliminar todos los perfiles de provisión del proyecto.pbxproj y luego volver a seleccionar un perfil válido lo establecerá striaght.

Si tiene un mac nuevo, puede ir al centro de desarrolladores de IOS -> Portal de aprovisionamiento -> Certificados -> Desarrollo -> Revocar y crear un nuevo certificado. Mi problema resuelto Mi error es “Error de signo de código: la identidad ‘Desarrollador de iPhone’ no coincide con ningún par válido de certificado / clave privada en sus llaveros”

Estaba enfrentando un problema similar ayer con nuestro servidor de CI. La extensión de la aplicación no se pudo firmar con el error

 Code Sign error: No matching provisioning profiles found: No provisioning profiles with a valid signing identity (ie certificate and private key pair) matching the bundle identifier XXX were found. 

Nota: Yo mismo creé mis perfiles de aprovisionamiento desde el portal para desarrolladores (no administrado por Xcode).

El error fue que había creado los perfiles de aprovisionamiento con el certificado de Distribución, pero las configuraciones de comstackción se configuraron para usar el certificado de desarrollador. Cambiarlo para usar Certificado de distribución resolvió el problema.

enter image description here

Resumen: haga coincidir el certificado utilizado para crear el perfil de suministro en la configuración de comstackción también.