2015-11-12 41 views
5

Sto usando El Capitan e Xcode 7.1, sto cercando di creare e archiviare la mia applicazione per caricarla su App Store. Dopo la compilazione di questo avviso si apre: enter image description hereProblema con consentire a codesign di utilizzare il mio portachiavi

ma Always Allow e Allow pulsanti non funzionano affatto, ma Deny annulla l'avviso! come devo risolvere questo problema? Sto usando un nuovo iMac e trasferito tutti i dati dal mio vecchio Mac a questo nuovo. Questo problema si verifica anche con Safari, quando un sito Web desidera accedere alla password dal portachiavi.

Si tratta di log della console:

SecurityAgent [1476]: Ignorando azione dell'utente dal momento che il dialogo ha ricevuto gli eventi da una fonte non attendibile

Ho esaminato questo question, ma io non sono condividere qualcosa!

+0

Hai modificato il contenuto di Xcode.app per caso? Potrebbe aver infranto la firma Xcode e quindi l'app non sarebbe attendibile, suggerisco di provare a rimuoverla ed eseguire una nuova installazione. –

risposta

7

trovato la soluzione:

utilità di terze parti come Alfred, TextExpander, o MagicPrefs possono apparire a prendere "il controllo" della finestra per quanto riguarda il sistema operativo in questione. Puoi trovare il colpevole disabilitandoli tutti e attivandoli uno ad uno finché non ne trovi uno (o più) che influenza Keychain in quel modo. Credito: https://apple.stackexchange.com/questions/212622/keychain-wont-let-copy-passwords-after-10-11-1-update

Nel mio caso ho appena disinstallato MagicPref applicazioni e risolto il problema

+2

Lo stesso mi ha aiutato. Disabilitato MagicPrefs e tutto funziona bene. – devgeek

+0

Anche il mouse smussato influisce su questo. Devi essere in grado di uccidere 'SmoothMouseDaemon' per poterlo permettere. MA la finestra di dialogo che è già aperta continuerà a non rispondere, sarai in grado di consentire solo quando verrà visualizzata di nuovo. – efpies

+0

Ho avuto lo stesso problema con Synergy. Killing it mi permette di premere "Always allow" – Jamie

5

Non sono sicuro se hai già capito questo, ma ho affrontato questo problema esatto, l'altro giorno. La tua casella di costruzione Xcode è remota? ARD/VNC è abilitato? Apple ha recentemente rilasciato un aggiornamento per CVE-2015-5943 "Un'applicazione malevola può controllare a livello di codice i prompt di accesso del portachiavi" che lo ha fatto in modo che i pulsanti Consenti/Consenti non funzionassero sia VNC/ARD. L'altra cosa che può causare l'errore è l'app che modifica l'input del sistema come Smoothmouse o MagicPrefs.

È possibile aggirare il problema reimportando la chiave privata e affidandosi al binario codesign durante l'importazione. Se non si dispone del file .p12 della chiave privata originale, è possibile esportarlo dal Portachiavi. Dovrai rimuovere la chiave privata dal portachiavi prima di reimportarti (assicurati di aver effettuato il backup della chiave privata da qualche parte prima !!).

Per importare e fidarsi del codice binario, è possibile utilizzare questo comando.

security import /tmp/my-cert-path.p12 -k /Users /xcodeuser/Library/Keychains/login.keychain -P mysupercoolprivatekeypassword -T /usr/bin/codesign 

Se è necessario continuare ad aggiungere applicazioni di fiducia per la chiave privata, avrei sicuramente fare in modo di tenere le chiavi private di sviluppo sostenuti altrove da qui in avanti. Se si perde la chiave privata e non si può esportare dall'accesso con portachiavi, è possibile che sia necessario rigenerarlo se non si dispone dell'accesso locale alla casella (utilizziamo un Mac Mini ospitato in remoto).

La voce di registro che hai postato è quella corretta.

SecurityAgent[1476]: Ignoring user action since the dialog has received events from an untrusted source 

'Informazioni sul contenuto di sicurezza di OS X El Capitan 10.11.1, di aggiornamenti della protezione 2015-004 Yosemite, e di aggiornamenti della protezione 2015-007 Mavericks' https://support.apple.com/en-us/HT205375

altre persone che affrontano lo stesso problema:

El Capitan + Xcode 7.1 not letting me allow enterprise signing

https://superuser.com/questions/1004881/osx-10-11-1-keychain-access-does-not-allow-change-to-access-permission

http://nerdanswer.com/answer.php?q=1181710

+0

Ho provato questo comando di importazione di sicurezza su El Cap, e sembra ignorare la mia richiesta di importare e fidarsi della chiave per il codesign. Qualche trucco per rendere onore all'opzione di fiducia (provato sia -T che -A)? Sto eseguendo questo comando su un terminale tramite VNC perché non ho accesso fisico alla macchina. –

+0

@PaulBuchanan è la situazione in cui stavo lavorando, hai rimosso l'elemento portachiavi esistente prima di provare di nuovo a importare? Il comando ha funzionato solo per me quando ho eliminato per primo l'oggetto portachiavi, non lo aggiornava se l'elemento esisteva già. –

+2

Solo un aggiornamento a questo Owen, ho scoperto che devi specificare le app sulla chiave privata, non il certificato. In questo modo: 'sicurezza import ~/Desktop/ .p12 -k"/Utenti/ /Library/Keychains/login.keychain "-t priv -P -T/usr/bin/codesign -T/Applicazioni/Utility/Portachiavi \ Access.app'. Quindi elimina la chiave privata che appare sotto il certificato, quindi esegui di nuovo l'importazione per aggiungere nuove app. – jlyonsmith

-1

ho avuto lo stesso problema, e ho cercato per molto tempo. In realtà ho trovato questa risposta pur avendo un problema simile su una casella pop-up su Microsoft Word che non avrebbe funzionato.

La correzione che ho utilizzato è riavviare il computer e accenderlo in modalità provvisoria (https://support.apple.com/en-us/HT201262), aprire Xcode (potrebbe essere necessario installare i componenti) e provare ad archiviarlo nuovamente. Questa volta, quando fai clic su Consenti sempre, dovrebbe funzionare.

Spero che questo aiuti!