conexión websocket sobre TLS usando nopoll falla con SSL_ERROR_SYSCALL

0

Estoy escribiendo un cliente de mensajería que debe conectarse a un servidor usando websocket secure (WSS). Cuando el cliente inicia la conexión nopoll, openssl devuelve SSL_ERROR_SYSCALL.

El servidor también admite el protocolo https-sse. Entonces, para confirmar que los certificados x.509 utilizados son correctos, intenté conectarme al servidor usando https-sse. Esto funciona como se esperaba.

Dado que el servidor utiliza los mismos certificados para autenticar a los clientes que se conectan a través de wss o https, no entiendo por qué la conexión wss fallaría con SSL_ERROR_SYSCALL cuando la conexión https puede funcionar con el mismo servidor.

La dirección IP del servidor y el número de puerto son los mismos de WSS y HTTPS. Sólo difieren en el esquema. wss: //: y https: //: El cliente que admite tanto wss como https está escrito en lenguaje C, ya que está pensado para ser un producto existente que ejecuta el código escrito en C.

    
pregunta Kumar 23.05.2017 - 19:07
fuente

1 respuesta

0

El proceso del cliente websocket usaba una biblioteca nopoll que necesitaba acceso a / dev / urandom, ya que se llamaba random () para generar semilla. Pero el proceso en sí se estaba ejecutando en un contenedor de linux que no tenía acceso a / dev / urandom. Por lo tanto, el cliente no pudo generar claves durante el protocolo de enlace TLS.

El montaje / dev / urandom en el contenedor del cliente resolvió el problema.

    
respondido por el Kumar 06.06.2017 - 13:33
fuente

Lea otras preguntas en las etiquetas