Estoy escribiendo una aplicación que usa las funciones SSL de NSStream en el iphone. Sé que SSL funciona porque puedo conectar servidores directamente usando SSL.
He encontrado un problema donde los protocolos que usan starttls requieren que me comunique en el socket con no segura, envíe el comando starttls y luego reutilice el mismo socket para SSL. Por lo que sé, las conexiones nsstream no se pueden reutilizar y no puedo iniciar SSL en ellas después de haber abierto la conexión.NSStream SSL en el socket usado
Pensé en crear mi propio socket, comunicarme en él manualmente y luego configurar un NSstream usando el socket existente e iniciar SSL de esa manera. Sin embargo, parece que la comunicación en el socket lo coloca en un estado en el que no puedo iniciar SSL. Cualquier intento de usar el socket para nsstream produce un error.
¿Alguna idea?
Ha intentado llamar setProperty: forKey: con las constantes de seguridad adecuadas en un NSSocket ya abierto? Creo que el código subyacente de SecureTransport admite el cambio a TLS/SSL desde una conexión inicial no encriptada. –
Así que me di cuenta de esto. Debe usar CFsockets y no NSsockets y luego aplicar el SSL DESPUÉS de la conexión, aunque la documentación dice que no puede hacerlo, negociará correctamente una conexión segura. – anurodhp
no existe tal cosa como "NSsockets" – user102008