Sviluppo un framework per iPhone che invia richieste HTTPS per comunicare con un server back-end pubblicamente disponibile. Attualmente ho un grosso problema per quanto riguarda i certificati server non attendibili.Come inviare richieste HTTPS per l'hosting con certificato server non attendibile in iPhone Simulator?
Il certificato del server di back-end non è firmato da una CA attendibile, quindi il mio primo approccio è stato quello di utilizzare allowAnyHTTPSCertificateForHost privato di NSURLRequest. Mentre questo ha funzionato come previsto e andava bene come soluzione temporanea, il nostro cliente richiede una soluzione pulita come risultato finale. Pertanto ho scritto un metodo che consente di installare un certificato fornito dal file system nel portachiavi, ma questo metodo non funziona come previsto in iPhone Simulator. Il certificato viene invece installato nel portachiavi Mac OS X della macchina host. Sfortunatamente, se chiamo il metodo sendSynchronousRequest di NSURLConnection, recupero un errore "certificato del server non valido". Sembra che NSURLConnection non sia in grado di accedere al portachiavi Mac OS X dell'host per recuperare il certificato.
La mia ipotesi è corretta o mi sono perso qualcosa?
Il mio approccio potrebbe funzionare se eseguo la mia app su un dispositivo iPhone reale (non ne ho ancora uno disponibile)?
Esiste un portachiavi in iPhone Simulator?
È possibile inviare richieste HTTPS a un server con un certificato non attendibile su iPhone Simulator o devo utilizzare le direttive del precompilatore per implementare routine diverse a seconda della piattaforma sottostante (simulatore o dispositivo, rispettivamente)?
Qualsiasi aiuto è molto apprezzato. certificati SSL
Grazie, Matthias
possibile duplicato di [Come utilizzare NSURLConnection per connettersi con SSL per un certificato non attendibile?] (Http://stackoverflow.com/questions/933331/how-to-use-nsurlconnection-to-connect-with-ssl- for-an-untrusted-cert) –