2012-02-09 20 views
55

Il nostro cliente è appena entrato nel programma iOS Developer Enterprise. Hanno firmato l'app (sviluppata da noi) con la loro distribuzione aziendale e l'hanno installata con successo in alcuni dispositivi tramite MDM.Come gestire la scadenza del certificato di Enterprise Distribution?

Per quanto ne so quando il mio certificato di distribuzione non aziendale scade, devo rinnovarlo. Questa scadenza disabilita tutte le app firmate con il certificato scaduto non appena i dispositivi verificano la validità del certificato nei confronti del server OCSP di Apple.

In alternativa, posso revocare la mia distribuzione non aziendale prima della data di scadenza e richiederne una nuova ad Apple. Le applicazioni firmate con il certificato revocato, ad esempio le app beta ad hoc, saranno disabilitate secondo lo stesso meccanismo.

Quindi con il mio programma per sviluppatori non posso avere due certificati di distribuzione validi allo stesso tempo. Ok, come sviluppatori possiamo conviverci.

Il cliente può disporre contemporaneamente di due certificati di distribuzione aziendale validi con il programma iOS Developer Enterprise?

Secondo Apple:

Certificate Validation

La prima volta che un'applicazione è aperta su un dispositivo, la distribuzione certificato viene convalidato contattando server OCSP di Apple. A meno che il certificato sia stato revocato, è consentita l'esecuzione dell'app. L'impossibilità di contattare o ottenere una risposta dal server OCSP a non viene interpretata come revoca . Per verificare lo stato, il dispositivo deve essere in grado di raggiungere ocsp.apple.com. Vedere "Requisiti di configurazione della rete" (pagina 9).

La risposta OCSP è memorizzata nella cache del dispositivo per il periodo di tempo specificato dal server OCSP, attualmente tra 3 e 7 giorni. La validità del certificato non verrà ricontrollata finché il dispositivo non ha riavviato e la risposta nella cache è scaduta. Se una revoca è ricevuta in quel momento, l'applicazione verrà impedita. Revocando un certificato di distribuzione invaliderà tutte le applicazioni che hanno distribuito.

Un'app non verrà eseguita se il certificato di distribuzione è scaduto. Attualmente, i certificati di distribuzione sono validi per un anno . Alcune settimane prima della scadenza del certificato, richiedere un nuovo certificato di distribuzione da DevCenter iOS, utilizzarlo per creare nuovi profili di fornitura distribuzione e quindi ricompilare e distribuire le app aggiornate agli utenti. Vedere “Fornire Apps Aggiornato” (pagina 10)

Mi sto perdendo qualcosa o è è possibile che i dipendenti, con potenzialmente centinaia di dispositivi iOS con diversi in Apps casa, non possono aprire le loro applicazioni mentre aspettano le app dimesse?

+0

Potete fornire un collegamento per tale preventivo? –

+0

Purtroppo non posso. L'ho letto mesi fa e sembra che Apple abbia rimosso questo contenuto, ma puoi trovarlo qui: [http://es.scribd.com/doc/72810321/FA-Wireless-Enterprise-App-Distribution](http:// es.scribd.com/doc/72810321/FA-Wireless-Enterprise-App-Distribution) – zapador

+0

possibile duplicato di [app per iphone: come rinnovare un certificato di distribuzione scaduto tramite il portale di provisioning iOS] (http://stackoverflow.com/ domande/7096254/iphone-app-how-to-renew-an-expired-distribution-certificate-through-the-ios-pro) –

risposta

84

Questo è un problema che abbiamo trattato negli ultimi 2 anni. Le applicazioni interne smettono di funzionare dopo 1 anno. È un esercizio enorme per un'organizzazione come la nostra per ricostruire centinaia di app e ridistribuirla su migliaia di dispositivi ogni anno.

Per noi è un esercizio di un mese in cui ricostruiamo tutte le nostre app e informiamo tutti gli utenti per ottenere nuovi attraverso il canale di distribuzione. Ancora ogni anno alcuni utenti rimangono con app non funzionali.

Ho inoltrato una richiesta di miglioramento con Apple (ID bug n. 9848075) e sto ancora aspettando una risposta.

MODIFICA: L'errore sopra menzionato è chiuso ora. Ecco la risposta ufficiale:

I certificati di distribuzione per le imprese hanno ora una durata di 3 anni.

+0

Ciao Vin, il mio cliente mi ha detto che possono avere due certificati validi. Quindi penso che il processo di dimissioni di tutti gli IPA possa essere abbastanza veloce usando gli script e non è necessario attendere fino alla data di scadenza ... Immagino che tutto possa essere pronto per quel giorno e tutti i dipendenti possano ricevere le app dimesse da uno strumento MDM . – zapador

+13

I certificati Enterprise * ora hanno una durata di 3 anni. Il profilo di provisioning tuttavia scade dopo 1 anno. Ciò significa che per mantenere un'app in esecuzione è sufficiente inviare un nuovo profilo di provisioning per gli ID app applicabili. Questo potrebbe essere solo il tuo profilo jolly (*). È possibile utilizzare un sistema MDM per inviare questi profili automaticamente. –

+0

hi Vin, perché non stai utilizzando un MDM per installare le nuove versioni su tutti i dispositivi? –

10

Il link "mancante" è ora http://help.apple.com/iosdeployment-apps/?lang=en#app43ad74a3

Poche settimane prima della scadenza del certificato, richiedere un nuovo certificato di distribuzione dal iOS Dev Center, utilizzarlo per creare nuova distribuzione provisioning profili, quindi ricompila e distribuisce le app aggiornate ai tuoi utenti.

Il documento descrive anche come aggiornare le app. Ci sono framework che includono il meccanismo di aggiornamento facilmente nella tua app. Ad esempio, "Hockey", https://github.com/therealkerni/HockeyKit

Citando l'articolo completo:

convalida certificato

La prima volta che un utente apre un app, il certificato di distribuzione è convalidato contattando server OCSP di Apple. A meno che il certificato sia stato revocato, è consentita l'esecuzione dell'app. L'incapacità di contattare o ottenere una risposta dal server OCSP non viene interpretata come una revoca. Per verificare lo stato, il dispositivo deve essere in grado di raggiungere ocsp.apple.com. Vedere Requisiti di configurazione di rete.

La risposta OCSP viene memorizzata nella cache del dispositivo per il periodo di tempo specificato dal server OCSP, attualmente tra 3 e 7 giorni. La validità del certificato non viene ricontrollata finché il dispositivo non ha riavviato e la risposta nella cache è scaduta. Se una revoca è ricevuta in quel momento, l'applicazione viene impedita. La revoca di un certificato di distribuzione annulla tutte le app che hai distribuito .

Un'app non verrà eseguita se il certificato di distribuzione è scaduto. Attualmente i certificati di distribuzione sono validi per un anno. Alcune settimane prima della scadenza del certificato, richiedere un nuovo certificato di distribuzione da iOS Dev Center, utilizzarlo per creare nuovi profili di provisioning della distribuzione e quindi ricompilare e distribuire le app aggiornate agli utenti. Vedi Fornire app aggiornate.

4

Apple ha rivisto la documentazione ...

Un'app non verrà eseguita se il relativo certificato di distribuzione è scaduto. Attualmente i certificati di distribuzione sono validi per un anno e tu puoi avere due certificati attivi contemporaneamente. Il secondo certificato ha lo scopo di fornire un periodo di sovrapposizione durante il quale è possibile aggiornare le app prima della scadenza del primo certificato.

Ad esempio, sei mesi prima che scada il certificato di distribuzione, crea un nuovo certificato e utilizzalo per aggiornare le tue app per il prossimo anno . Per fare ciò, devi richiedere un nuovo certificato di distribuzione dal Centro Dev Dev per iOS (non revocare il tuo primo certificato), usarlo su creare nuovi profili di provisioning di distribuzione per ciascuna delle tue app, e poi ricompilare e distribuire le app aggiornate ai tuoi utenti. Vedere Fornire app aggiornate.

4

Nota: il seguente testo gerarchico indica il percorso delle informazioni che spiegano la soluzione. Devi passare a (espandere le frecce accanto a) gli elementi nella barra laterale per vedere la soluzione (Mani, per favore non cancellare queste informazioni - è lì per indirizzare il visualizzatore alla soluzione.)

Documentazione attuale da Apple :

Distributing Enterprise Apps for iOS Devices 
    In-house apps 
     Certificate validation 
     Providing updated apps 

http://developer.apple.com/library/ios/#featuredarticles/FA_Wireless_Enterprise_App_Distribution/Introduction/Introduction.html

di fornire applicazioni aggiornati:

Si possono avere due certificati di distribuzione attivi allo stesso tempo; ciascuno è indipendente dall'altro. Il secondo certificato intende fornire un periodo di sovrapposizione durante il quale è possibile aggiornare le app prima della scadenza del primo certificato. Quando richiedi il tuo secondo certificato di distribuzione da iOS Dev Center, assicurati di non revocare il tuo primo certificato.

Che non ci sia un modo semplice per fare in modo che tutti i nostri clienti interni non abbiano bisogno di vedere questo è piuttosto terribile mancanza di funzionalità.

+0

Link non funzionante :( – cleverbit

0

Solo un piccolo follow-up.

originale:

"Per quanto ne so quando il mio non-enterprise certificato di distribuzione scade devo rinnovarlo Questa scadenza disattiva tutte le applicazioni firmati con il certificato scaduto non appena i dispositivi controlla la validità del certificato contro. Il server OCSP di Apple. "

Questo non è del tutto vero, se ho capito bene. This informazioni da Apple e come spiegato here dice il contrario.

Cosa succede se il certificato scade o è stato revocato?

...

iOS certificato di distribuzione (App Store)

  • Se la tua iscrizione iOS Developer Program è valido, le applicazioni esistenti su App Store non saranno interessati. Tuttavia, non sarà più possibile inviare nuove app o aggiornamenti all'App Store.
+0

Ciao Kost, hai ragione per l'App Store. La cosa è che mi sono espresso male, stavo parlando della distribuzione di Ad Hoc in cui Apple non si dimette dall'app (o fa qualsiasi cosa) – zapador

+1

Importante notare che le regole sono diverse per le app Enterprise e non Enterprise. –

Problemi correlati