2016-05-20 8 views
57

sto ottenendo un netto errore :: ERR_INSECURE_RESPONSE nella console Chrome durante il recupero di alcuni dati dal mio APINet :: ERR_INSECURE_RESPONSE in Chrome

Questo errore si verifica in genere a causa di un certificato non firmato; tuttavia, non è un problema con questo perché ho un certificato valido e firmato.

L'errore non si verifica spesso e va via se riavvio il browser Chrome. Inoltre non si verifica in nessun altro browser (testato su Safari, Mozilla, Opera)

Qualche idea del perché questo sta accadendo? È solo un bug del browser?

+2

Ho anche questo problema, ma è ripetibile al 100% su un sito client e lo 0% ripetibile al di fuori di esso. Sto anche utilizzando un certificato valido e firmato che rende inutilizzabili quasi tutte le informazioni sul Web in quanto si riferisce già a certificati autofirmati. – kirps

+0

L'API che stai contattando anche su un SSL? – artur99

risposta

0

Forse è stato eseguito in questo problema: net::ERR_INSECURE_RESPONSE

è necessario controllare gli algoritmi di crittografia supportati dal server. Ad esempio per apache è possibile configurare la suite di crittografia in questo modo: cipher suite.

Quale versione di chrome è in esecuzione e qual è il server che serve le tue API?

+1

non penso che questo sia il problema perché il riavvio del browser rende questo problema andare via – Karim

+1

e utilizzando chrome 50.0.2661.102 e utilizzando Rails per servire la mia API. Tuttavia, come ho detto, non è possibile riprodurre in modo coerente questo problema in quanto la chiusura del browser fa sì che tutto funzioni di nuovo, quindi non sembra essere un problema con gli algoritmi di crittografia – Karim

1

Un certificato intermedio mancante potrebbe essere il problema.

Si consiglia di controllare il proprio https://hostname con arricciatura, openssl o un sito Web come https://www.digicert.com/help/.

Non ho idea del perché Chrome (possibilmente) a volte abbia problemi a convalidare questi certificati.

1

Stavo ricevendo questo errore su amazon.ca, meetup.com e la home page di Symantec.

Sono andato alla pagina di aggiornamento nel browser Chrome (era al 53. *) e controllato per un aggiornamento, e ha mostrato che c'era nessun aggiornamento disponibile. Dopo aver chiesto in giro per il mio ufficio, si scopre che l'ultima versione era 55 ma sono rimasto bloccato su 53 per qualche motivo.

Dopo l'aggiornamento (dovuto scaricare manualmente dal sito Web di Chrome) i problemi erano spariti!

68

Questo succede quando si aggiorna da Chrome 55 a Chrome 56 (56.0.2924.87).
Si tratta di un aumento delle misure di sicurezza.
Non scompare riavviando il browser e non è un bug.

Mountain View dice che si spera non mai incontrare il messaggio, perché Autorità di certificazione sono tenuti a interrompere l'emissione di SHA-1 certificati nel 2016. Solo nel caso, Google prevede di continuare ad emettere avvertimenti fino Chrome smette completamente di supportare SHA-1 a gennaio 1 ° 2017. Quando arriva quel giorno, un sito Web che utilizza ancora la funzione attiverà un errore di rete fatale. (Fonte: Engadget.com)

In questo caso, il più-probabile causa è che il vostro (o del sito) SSL-certificato utilizza SHA1.
SHA1 è rotto e i certificati SSL che utilizzano SHA1 non sono più sicuri (è passato molto tempo che Chrome te l'ha mostrato, ora blocca lo NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM).

Un'altra causa probabile è che il vostro SSL-certificato scaduto
Inoltre, è necessario disattivare retro-compatibilità con SSL2 & SSL3 (Poodle Attack).
Si dovrebbe utilizzare solo TLS (SSL 3.1+).

Per testare il certificato SSL del dominio, è possibile utilizzare SSL labs SSL test.

per scoprire che cosa esattamente il problema è: Aprire la console di Chrome sviluppatore (CTRL + MAIUSC + J o F12) e cambiare la scheda di sicurezza

Security

Console

Details

Per ulteriori informazioni:
https://support.google.com/chrome/answer/95617?visit_id=1-636221396724527190-3454695657&p=ui_security_indicator&rd=1

FYI:

SHA-1 è stato sempre più debole e più insicura di tutti i giorni per un decennio ora, che è pericoloso considerato che noi tendiamo a fidarsi siti web con "https: //" nei loro URL . Altri browser come Mozilla Firefox e Microsoft Edge hanno anche intenzione di smettere di supportarlo nel tentativo di incoraggiare i proprietari di siti Web a passare a certificati SHA-2 più sicuri il più presto possibile.

Se avete urgente bisogno di ottenere intorno ad esso (è necessario chiudere tutti i che eseguono istanze di Chrome prima - altrimenti non funzionerà):

chrome --args --ignore-certificate-errors 

Si prega di notare: don Vai online banking o gmail con quelle impostazioni della riga di comando attive nell'istanza di Chrome.

+0

Ho corretto che per mac per comando 'defaults scrivi com.google.Chrome EnableSha1ForLocalAnchors -bool true' e riavvia chrome. Ci sono diversi dettagli su come eseguire enableSha1ForLocalAnchors su altri sistemi operativi. – okutane

+0

Un'altra causa è che sei uno sviluppatore web che utilizza un certificato autofirmato. Grazie a Google. –

57

Ho avuto un problema simile di recente. Stavo cercando di accedere a un endpoint REST https che aveva un certificato autofirmato. Stavo ricevendo net::ERR_INSECURE_RESPONSE nella console di Google Chrome. Ho cercato un po 'sul Web per trovare questa soluzione che ha funzionato per me:

  1. Aprire una nuova scheda nella stessa finestra in cui si sta tentando di effettuare la chiamata API.
  2. Passare all'URL https a cui si sta tentando di accedere a livello di programmazione.
  3. si dovrebbe vedere una schermata simile a questa: enter image description here
  4. Fare clic su Avanzate> procedere alla <url> e si dovrebbe vedere la risposta (se ce n'è uno)
  5. Ora provare a fare la chiamata API attraverso lo script.
+0

Spero che tu non stia usando questo per trasmettere informazioni riservate (pagamento con carta di credito). Se si dispone di un certificato autofirmato interno, ovviamente l'approccio corretto consiste nell'aggiungere il certificato ai certificati affidabili sulla macchina/dominio (o mozroot su Linux). Unsafe ignorerà qualsiasi errore di certificato - il che significa che l'utilizzo di SSL è completamente inutile, si potrebbe anche utilizzare HTTP. –

+1

Questa risposta è stata molto utile. Grazie! –

+0

Sì, ho usato lo stesso trucco, ma l'uso di un certificato reale sembra essere l'unico modo percorribile. – Vadorequest

2

Per me la risposta a questo è stato disponibile qui su StackOverflow:

ERR_INSECURE_RESPONSE caused by change to Fiddler's root certificate generation using CertEnroll for Windows 7 and later

Purtroppo, questo cambiamento può causare problemi per gli utenti che hanno precedentemente di fiducia il certificato principale Fiddler; il browser potrebbe mostrare un messaggio di errore come NET :: ERR_CERT_AUTHORITY_INVALID o Il certificato non è stato emesso da un'autorità di certificazione attendibile.

(Citazione di the original source)

ho avuto questo errore ERR_CERT_AUTHORITY_INVALID sul browser e ERR_INSECURE_RESPONSE mostrato in Strumenti di sviluppo di Chrome.

+1

Sebbene questo collegamento possa rispondere alla domanda, è meglio includere qui le parti essenziali della risposta e fornire il link per riferimento. Le risposte di solo collegamento possono diventare non valide se la pagina collegata cambia. - [Dalla recensione] (/ recensione/post di bassa qualità/17710338) – Socowi

0

Stavo riscontrando questo problema durante il test della mia app Cordova su Android. Si dà il caso che questo dispositivo Android non mantenga la sua data, e ripristinerà in qualche modo la sua data di fabbrica. L'API che chiama ha un certificato valido a partire da quest'anno, mentre la data del dispositivo dopo l'avvio è nel 2017. Per ora, devo adb shell e cambiare la data manualmente.