Me gustaría su consejo sobre cuál es el mejor enfoque para el desafío en mis manos ...
Estoy desarrollando una extensión para un software de terceros. Estoy haciendo mi desarrollo usando Python / Twisted / Autobahn. Los resultados finales deben ser un servidor WebSockets que admita comunicaciones cifradas / seguras. Los usuarios recibirán esta extensión y la instalarán en sus máquinas, por lo que pueden ser 'cualquier' nombre de host, IP, etc., no conocidos de antemano.
El cliente (WebSocket) de esta extensión de software es una aplicación de iOS (que usa SocketRocket) que requiere que el usuario proporcione la IP y el puerto de su instalación para conectarse. La aplicación iOS proviene de la tienda de aplicaciones de Apple, por lo que no se personaliza por usuario.
En este escenario, ¿cuál es la mejor manera de hacer que esta conexión entre la aplicación iOS (websocket client) y la extensión de software (servidor websocket) sea segura / encriptada?
Inicialmente pensé que los certificados tenían wss conexiones forzadas en el servidor WebSocket, pero esto requiere que cada usuario cree su propio certificado y no sé si el dispositivo iOS lo "aceptará" y "usará". >
Pensé en cambiar la arquitectura y tener un nivel medio, haciendo de la extensión un cliente de websocket, teniendo un solo punto de contacto, esta idea fue rechazada.
¿Alguna alternativa que deba considerar?
¡Gracias!