2010-06-19 5 views
6

Sto facendo un accumulo a distanza/automatico [1] dei miei progetti Xcode [2] e al fine di firmare il mio applicazioni che aggiunge questa riga prima della compilazione.Unlock OSX portachiavi senza password?

security unlock-keychain -p keychainpassword 

Questo funziona bene, e sblocca i portachiavi di sistema in cui sono memorizzati i certifcates, ma è di esporre la password per l'utente, che l'agente di compilazione è in esecuzione sul nell'interfaccia di squadra della città per tutti da vedere.

Il processo di compilazione è in esecuzione come utente connesso ed è autonomo ... c'è un modo per sbloccare il sistema/portachiavi predefinito senza fornire la password?

Ho appena pensato: cosa succede se ho spostato i certificati nel portachiavi del login (invece del sistema), dovrei comunque sbloccarlo con una password?

È possibile? O dovrei impostare un utente che non può fare alcun danno e solo costruire e non fare nient'altro ed esporre la password dell'utente.

[1] Utilizzo di Teamcity, ma irrilevante.

[2] progetti iPhone, ma ancora una volta irrilevante.

+1

Se è davvero così importante per te, puoi scrivere una piccola app che sblocca il portachiavi e legge la password da un file di sola lettura per l'utente e nessun accesso per tutti gli altri. In questo modo la password non è esposto nella lista dei processi. –

risposta

2

Si dovrebbe essere in grado di costruire con un normale (non-admin) utente, e fare che l'utente dispone di alcuna password. Quindi, si può auto-login come quell'utente sul vostro sistema di compilazione.

Un'altra alternativa è quella di memorizzare la password in una variabile di ambiente, ma che nasconde a malapena la password.

Se si dispone di un utente normale senza password e si aggiungono i certificati al portachiavi di accesso, sarà possibile creare in remoto/automaticamente/automatica senza problemi, inclusa la firma del codice.

0

security unlock-keychain da solo per la password.