Problema di connessione HTTPS su Chrome / Chromium / Opera

0

Sto cercando di creare un server web leggero su un dispositivo incorporato e di provare ad aggiungere HTTPS introducendo mbedTLS.

Posso usare Firefox o IE per effettuare connessioni senza problemi.    Tuttavia, quando si utilizza Chrome / Chromium / Opera, crea inizialmente molte connessioni TCP e tenta di eseguire l'handshake SSL. La maggior parte delle connessioni non ha inviato ApplicationData dopo l'handshake SSL, il browser invia FIN subito dopo ChangeCipherSpec e Finish . Solo poche connessioni inviano ApplicationData dopo l'handshake SSL. Fa sì che molti elementi in una pagina non vengano caricati, il server non ha ricevuto la richiesta GET per alcuni elementi.

Cipher suite: RSA_WITH_AES128_GCM_SHA256
Certificate: Self-signed certificate with RSA1024/2048 key
keep-alive is not enabled

Perché vengono create così tante connessioni ma non utilizzate da Chrome? E qualche idea per risolverlo?

Grazie

Per StackzOfZtuff

Questa è la schermata dello strumento di sviluppo di Chrome, mostra alcuni errori di certificato, poiché il certificato è autofirmato.

PerTom

RisultatoSSLLabs:Iproblemiprincipalisono:(A)LalunghezzadellachiaveRSA1024èdebole(B)Problemadicertificatoautofirmato(C)Ilsegretoinavantinonèsupportato

PerBaptiste

Hoprovatoadisattivareil"protocollo QUIC", ma ho ancora il problema di Chromes invia FIN dopo l'handshake SSL.

posta Liang Changwei 10.11.2017 - 10:10
fonte

2 risposte

1

Grazie per l'aiuto di StackzOfZtuff, ho finalmente trovato il problema.

Durante la connessione a un server con un certificato autofirmato, Chrome mostra "La tua connessione è privata" e possiamo continuare andando a fare clic su "Avanzate" e "Procedi a XXX". Tuttavia, anche il sito Web viene caricato, ma il chrome creerebbe molte connessioni SSL e ne scollegherà alcune dopo la fine dell'handshake.

Analizzando l'evento Chrome con "chrome: // net-export" e "chrome: // net-internal", mostra che il socket è chiuso dopo l'handshake SSL e viene visualizzato un errore "ERR_CERT_AUTHORITY_INVALID".

Ho provato a disattivare innanzitutto il controllo SAN (Subject Alternative Name) di Chrome (perché il mio mbedTLS non supporta la creazione di un certificato con SAN ora) e importare manualmente il certificato su Chrome, quindi Chrome può connettersi al mio httpd senza messaggio di avviso del certificato e Chrome non interromperà più la connessione.

    
risposta data 18.11.2017 - 05:10
fonte
0

"Nome alternativo oggetto mancante"

Chrome richiede SAN e non supporta più CommonName.

Vedi: ChromeStatus, Supporto per la corrispondenza commonName in Certificati (rimossi)

Aggiungi un nome SAN al tuo certificato per risolvere il problema.

    
risposta data 13.11.2017 - 10:56
fonte

Leggi altre domande sui tag