Sto provando a scrivere il mio server web in Java 8 e sto incontrando un problema molto strano. Ogni volta che faccio una connessione SSL con Chrome, funziona bene. Quando provo con Firefox (59.0.2), avevo problemi di connessione, ma solo con pacchetti di crittografia che utilizzano GCM. Sembrava che dopo l'handshake SSL, la richiesta dal browser non fosse mai stata inviata. Usando wireshark, ho visto che Firefox stava inviando i dati dell'applicazione nel mezzo dell'handshake SSL: Da 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
Per essere sicuro di non aver frainteso, l'ho verificato con Chrome e con Firefox senza suite di crittografia GCM, e nessuno di loro aveva i dati dell'applicazione inviati nel bel mezzo dell'handshake. Ho controllato altri siti, come google.com, cnn.com, ecc. E stanno utilizzando le suite di crittografia GCM senza problemi su Firefox, quindi ovviamente questo è un problema dalla mia parte.
Java 8 non supporta ALPN, quindi non è un TLS False Start. Qualche idea che cosa causerebbe il problema specifico con Firefox e non con Chrome?