2014-10-20 14 views
5

Come creare un SecIdentityRef se si ha un SecCertificateRef e una chiave privata in iOS? Ho un certificato X509 che viene passato dal server e una chiave privata associata, ma ora sto facendo fatica a stabilire la fiducia in NSURLCredentials.come ottenere SecIdentityRef da SecCertificateRef e PrivateKey?

Una domanda simile è stato chiesto qui How to establish a SecIdentityRef in an iPhone keychain ? (Without a .p12)

Come accennato importante nel post sopra, ho creato SecCertificateRef utilizzando SecCertificateCreateWithData prima e poi aggiunto al portachiavi utilizzando SecItemAdd ma non so cosa fare adesso per generare SecIdentityRef .

Molte grazie,
Manish
P.S. - Non ho abbastanza punti di riferimento per commentare un post, quindi faccio una nuova domanda.

+0

Ciao, ci sei riuscito? Sto facendo lo stesso, ma non riesco a farlo funzionare, sto inviando CSR al server, server restituisce il client cert, lo salverò in portachiavi, quindi voglio eseguire la richiesta in modo da sovrascrivere 'credentialWithIdentity: certificates: persistence' ma sto ancora ricevendo errori SSL – beretis

risposta

5

A quanto ho capito, SecIdentityRef s non esistono come voci di portachiavi individuali. Quando ottieni un'identità usando SecItemCopyMatching(), trova un certificato e una chiave privata corrispondente e restituisce un'identità che è solo un riferimento a quella coppia (cert, chiave). Per quanto ne so, l'unico modo per creare SecIdentityRef è inserire una chiave privata e un certificato per quella chiave nel portachiavi e quindi eseguire una ricerca di identità.

+0

puoi prendere una scelta sulla mia domanda? http://stackoverflow.com/q/38771668/1387438 –

Problemi correlati