Sto scrivendo un'applicazione che utilizza le funzioni SSL di NSStream sull'iPhone. So che SSL sta funzionando perché posso collegare direttamente i server usando SSL.
Ho riscontrato un problema in cui i protocolli che utilizzano starttls mi richiedono di comunicare sul socket con unsecured, inviare il comando starttls e quindi riutilizzare lo stesso socket per SSL. Per quanto ne so, le connessioni nsstream non possono essere riutilizzate e non posso avviare SSL su di esse dopo aver aperto la connessione.SSL NSStream sulla presa utilizzata
Ho pensato di creare il mio socket, comunicarlo manualmente e quindi configurare un NSstream utilizzando il socket esistente e avviare SSL in questo modo. Tuttavia, sembra che la comunicazione sulla presa lo collochi in uno stato in cui non posso avviare SSL su di esso. Qualsiasi tentativo di utilizzare il socket per nsstream genera un errore.
Qualche idea?
Hai provato chiamare setProperty: Forkey: con le costanti di protezione appropriati su un NSSocket già aperto? Credo che il codice SecureTransport sottostante supporti il passaggio a TLS/SSL da una connessione iniziale non crittografata. –
Quindi ho capito. Dovresti utilizzare CFsocket e non NSsocket e quindi applicare SSL dopo la connessione, anche se la documentazione dice che non puoi farlo, negozia correttamente una connessione sicura. – anurodhp
non esiste "NSsockets" – user102008