2015-04-23 27 views
7

Ho alcune domande relative al certificato di identità nel payload del profilo.Certificato di identità - IOS MDM

Perdona l'ignoranza, se alcune domande sono fondamentali.

1.) Ho scoperto che è possibile utilizzare lo standard SCEP o il certificato PKCS12 direttamente per l'identificazione del dispositivo. Si consiglia SCEP, poiché la chiave privata sarà nota solo al dispositivo. Quindi, nel caso in cui Se sto per implementare il server SCEP, devo mantenere l'elenco della chiave pubblica dei certificati di identità mappati al dispositivo, in modo che io possa usarlo in seguito per la crittografia?

2.) Qual è il modo migliore per implementare il server SCEP? Esistono metodi affidabili affidabili per adottarlo invece di scrivere tutto da soli?

3.) Cosa succede se il certificato di identità è scaduto?

Come versione di base mentre giocavo, ho provato ad aggiungere il mio certificato p12 al Payload senza usare SCEP.

Ho provato ad aggiungere il certificato p12 codificato base64 nella chiave payloadcontent identity, come menzionato in alcuni riferimenti di collegamento. Ho ottenuto un errore

Il certificato d'identità per i “Test MDM profilo” non è stato trovato

durante l'installazione del profilo.

identity_payload['PayloadType'] = 'com.apple.security.pkcs12' 
    identity_payload['PayloadUUID'] = "RANDOM-UUID-STRING" 
    identity_payload['PayloadVersion'] = 1 
    identity_payload['PayloadContent'] = Base64.encode64(File.read "identity.p12") 
    identity_payload['Password'] = 'p12Secret' 

Quando ho controllato 'Configuration Profile key reference', è stato detto che devo inviare la rappresentazione binaria di carico utile in dati. Così ho provato,

identity_payload['PayloadContent'] = ConvertToBinary(File.read "identity.p12") 

ho ottenuto,

La password per il “IdentityCertificate” certificato non è corretto

io sto fornendo password valida per l'esportazione del certificato di p12.

Cosa sto sbagliando?

risposta

3

rispondere alla tua domanda:

1) Ho bisogno di mantenere la lista di chiave pubblica dei certificati di identità mappati al dispositivo, in modo che possa utilizzare in seguito per la crittografia?

Sì. Hai bisogno di un qualche tipo di mappatura. Puoi fare due modi:

  • Basta archiviarlo in DB una mappatura tra il nome comune del certificato e l'UDID del dispositivo.
  • Fai CN contiene UDID (mi piace questo metodo, perché semplifica i controlli iniziali)

E come lei ha sottolineato avrete bisogno di chiave pubblica per crittografare payload per questo dispositivo.

2) Qual è il modo migliore per implementare il server SCEP?Esistono metodi affidabili affidabili per adottarlo invece di scrivere tutto da soli?

Esistono implementazioni open source di SCEP. Ad esempio, jSCEP ce l'ha (l'ho usato) e EJBCA ce l'ho (l'ho usato anch'io). Ho visto altre implementazioni (in Ruby e così via). Quindi, puoi trovare un qualcosa che funziona con il tuo stack.

3) È necessario rinnovare il certificato di identità prima che scada (allo stesso modo di qualsiasi altro certificato).

4) Se il tuo profilo non funziona, ti consiglio di creare lo stesso profilo in Utility Configurazione iPhone e confrontarlo con il tuo. Il più delle volte, hai perso solo un tag o qualcosa del genere (ci vorrà molto per capirlo senza confrontarlo con quello funzionante).

+0

"Crea CN contiene UDID", Se stiamo generando CSR e inviandolo come contenitore P12 nel carico utile, è possibile definire il nostro CN. Ma in modo SCEP, il dispositivo genererà CSR giusto? Allora come possiamo rendere il nostro testo desiderato come CN? – BinaryMee

+0

2) Grazie per il vostro riferimento. Userò una CA fidata per la firma. È possibile avere con noi il certificato CA e usarlo per firmare il certificato in pkioperation da un dispositivo al nostro server SCEP? 3) Potresti per favore elaborare il processo di rinnovo del certificato? La richiesta di rinnovo verrà inviata al server SCEP dal dispositivo? – BinaryMee

+0

4) Ho creato lo stesso in IPCU e tutti i tag sono quasi uguali. Il certificato creato da IPCU è stato installato correttamente. Poi ho notato che i dati in PayloadContent della sezione identità sono diversi. Ho appena estratto il certificato p12 e ho usato il suo binario. Non sono sicuro di cosa sarebbe andato storto. FYI, IPCU non è più disponibile. :) – BinaryMee