Estoy tratando de escribir mi propio servidor web en Java 8, y estoy teniendo un problema muy extraño. Cada vez que hago una conexión SSL con Chrome, funciona bien. Cuando probé con Firefox (59.0.2), tuve problemas de conexión, pero solo con conjuntos de cifrado que usan GCM. Parecía que después del protocolo de enlace SSL, la solicitud del navegador nunca se envió. Usando wireshark, vi que Firefox estaba enviando datos de aplicación en medio del protocolo de enlace SSL: Desde wireshark:
C = Client
S = Server
C —> S Client Hello
C <— S Server Hello, Certificate, Server Key Exchange, Server Hello Done
C —> S Client Key Exchange, Change Cipher Spec, Hello Request, Hello Request
C —> S Application Data
C <— S Change Cipher Spec
C <— S Hello Request, Hello Request
Para asegurarme de que no estaba malentendido, verifiqué esto con Chrome y con Firefox sin conjuntos de cifrado GCM, y ninguno de ellos tenía Datos de Aplicación enviados en medio del protocolo de enlace. Revisé otros sitios, como google.com, cnn.com, etc. y están usando suites de cifrado GCM sin ningún problema en Firefox, por lo que obviamente este es un problema de mi lado.
Java 8 no es compatible con ALPN, por lo que no es un inicio falso de TLS. ¿Alguna idea sobre qué causaría el problema específico con Firefox y no con Chrome?