Todos, tengo un cliente HP VuGen que usa 2 conexiones TCP / IP para hacer el protocolo de enlace TLS v1.2 con mi servidor cuando la autenticación mutua está habilitada.
Según Wireshark, la secuencia es aproximadamente esta:
- Cliente SYN
- TLS v1.2 client hello
- El servidor envía el saludo del servidor, el certificado, el intercambio de claves del servidor, la solicitud del certificado, el saludo del servidor hecho
- El cliente FIN es la conexión anterior
- El cliente SYN es una nueva conexión
- Error del protocolo de enlace del servidor en la conexión anterior (paquete fuera de orden)
- TLS v1.2 client hello
- servidor hola, certificado, intercambio de claves del servidor, solicitud de certificado, servidor hola hecho
- (todo está bien después de esto)
Ni Openssl ni un cliente Java independiente muestran este mismo comportamiento. Cuando el servidor solicita el certificado del cliente por primera vez, lo envían.
Con VuGen, no puedo ver nada diferente en el mensaje de saludo de los dos clientes, ni en las respuestas del servidor. Sin embargo, definitivamente hay dos conexiones, porque hay 2 FIN del cliente que usan 2 puertos de salida diferentes.
¿Por qué el cliente haría esto?
FWIW, no importa si atravieso un equilibrador de carga o no. Me sale el mismo comportamiento.
Creo que esto tiene algo que ver con que el servidor solicite el certificado del cliente porque el mismo servidor tiene otro puerto no MA abierto que, de lo contrario, está configurado igual y el cliente VuGen solo realiza una conexión allí.
Gracias