2015-11-11 5 views
9

Wenn ich die Fetch-Funktion in meiner nativen Apps reagieren, Dinge funktionieren wie erwartet auf iOS, gibt aber einen Fehler in Android. Der Fehler ist "TypeError: Netzwerkanforderung fehlgeschlagen". Bei der Fehlerbehebung habe ich folgende Ursache gefunden: 'java.security.cert.CertPathValidatorException: Vertrauensanker für Zertifizierungspfad nicht gefunden'.Holen Sie sich in Reaktion native funktioniert nicht mit ssl auf Android

Wie funktioniert das in iOS und nicht auf Android, und wie kann ich es am besten beheben? Ist der Fehler in der Reaktion nativ oder irgendwo tiefer?

+1

Es ist wahrscheinlich ein Serverzertifikat Problem hilft. Was ist der Server von wo willst du abholen? Stellen Sie sicher, dass Sie das SSL-Zertifikat Ihres Servers auf dieser Website https://www.digicert.com/help/ oder mit running überprüfen. openssl s_client -debug -connect www.thedomaintocheck.com:443 – Orlando

+0

Sie sind zwei separate Geräte. iOS hat möglicherweise Vertrauen. – vijayst

Antwort

1

Es gibt ein paar Abhilfen für dieses Problem hier erwähnt: Trust Anchor not found for Android SSL Connection

Wenn Sie jedoch der Server Besitzer sind. Ich würde vorschlagen, Ihr Server SSL-Zertifikat zu überprüfen. Ich denke, das war wegen fehlenden CA-Zertifikats in Ihrer PEM-Datei. Was ich für meine Website getan habe, ist, dass ich fullchain.pem erstellt habe, indem ich den Inhalt von file.crt und file.ca-bundle in dieser Reihenfolge zusammengefasst habe.

Dann konfiguriere ich nginx (mein Server hinter nginx) mit: ssl_certificate /etc/nginx/ssl/fullchain.pem;

Das Originaldokument: https://www.digicert.com/ssl-certificate-installation-nginx.htm

Hoffnung, die