14

Sto provando a eseguire un'applicazione sul mio iPhone, ma sto riscontrando problemi con l'identità della firma del codice. In realtà ho due certificati nei miei portachiavi, uno per la distribuzione e uno per lo sviluppo che non ha la chiave privata. Ho provato a scaricare nuovamente il certificato da developer.apple.com ma non riesco ancora ad avere la chiave privata. In realtà non riesco a selezionare il profilo sviluppatore iPhone da Target -> impostazioni di generazione -> La firma del codice Identity perché ottengo l'errore:
Sviluppatore per la chiave privata mancante nel portachiavi

Profile doesn't match any valid certificate/private key pair in your keychains.

Inoltre nel organizzatore lo stato del profilo sviluppatore è :

Valid signing identity not found.

Avete qualche suggerimento?

+0

La chiave privata sarà nella macchina da cui è stato richiesto Cert. Esportalo dal portachiavi da quella macchina e importalo sul tuo. – 0x8badf00d

+0

Sì, ma non riesco a vederlo nei miei portachiavi, puoi aiutarmi? Se vuoi posso inviarti degli screenshot – iconso

+0

stai pubblicando questa app per la prima volta? stai lavorando su una macchina diversa? –

risposta

20

Se si dispone di una macchina precedente in cui è stato creato un CSR e il certificato è stato scaricato in origine, quindi esportare il certificato dal portachiavi. Salvalo come file .p12 e copialo sulla tua nuova macchina su cui stai lavorando al momento. Fare doppio clic sul file .p12 per installarlo sul portachiavi. Espandi e vedi se vedi la chiave privata.

Se questa è la macchina originale e non si dispone ancora di una chiave privata nel portachiavi, è necessario richiedere un nuovo certificato.

+0

Grazie per la risposta, no questa è la macchina in cui sono abituato a lavorare. http://img534.imageshack.us/img534/1840/14q1.png Questa è una schermata dei miei portachiavi – iconso

+0

Dovrai richiedere un nuovo certificato di sviluppo su developer.apple.com/iphone dal tuo programma per sviluppatori e quindi scaricarlo e installarlo per ottenere un certificato con una chiave privata. –

+0

Ma devo revocare quelli vecchi? O posso solo crearne uno nuovo? – iconso

1

Abbiamo identificato nel nostro caso che stavamo esportando il certificato sbagliato, perché Accesso Portachiavi ha un deficit UX in che quando si utilizza la casella di ricerca, non si vede certificati con un nome corrispondente a ciò che hai cercato, vedi i certificati legati a PRIVATE KEYS con un nome che corrisponde a quello che hai cercato.

A causa di questo UX confuso dell'accesso Keychain, abbiamo continuamente esportato il certificato errato (ma ci siamo convinti che fosse giusto perché il nome corrispondeva). Una volta identificato come il certificato corretto, il nostro problema di importazione & identità di firma mancanti messaggi di chiavi private è andato via

vedere Can't import Code-signing Public or Private keys using Keychain access (Mac OS X Mavericks) per le note complete.

3

Se non si dispone della chiave privata nel portachiavi o memorizzata altrove, non è possibile firmare un'app. Non ha senso scaricare il certificato per sviluppatori da Apple. La tua chiave privata non viene MAI inviata ad Apple in qualsiasi momento del processo. Viene inviata solo la tua chiave pubblica.

La chiave privata & PAIR pubblica viene creata quando si crea una richiesta di firma del certificato utilizzando il portachiavi. Questo è esattamente ciò che devi fare se hai perso la tua chiave privata.

0
Profile doesn't match any valid certificate/private key pair in your keychains. 

Questo particolare errore può verificarsi per un paio di motivi, ma i più comuni sono -

  1. Il certificato è stato installato nel portachiavi non è quello con cui è stato creato il profilo di provisioning, Ricorda, hai dovuto selezionare un certificato quando hai creato il profilo?

  2. Il certificato che è stato utilizzato per creare il profilo di provisioning è revocato o scaduto.