2016-08-09 80 views
1

Ich habe ein Problem, wenn ich meine NativeScript-Anwendung auf Android API 17 testen. Die Installation funktioniert gut, aber wenn ich versuche, mit einer HTTP-Anfrage an meine HTTPS-Back-End , die Anfrage wird sofort beendet.Nativescript Anwendung funktioniert nicht auf Android API 17

Dies geschieht nur auf API 17 und nicht auf höherer API.

Error: javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.

http.request({ 
    url: config.baseUrl + "login", 
    method: "POST", 
    headers: {"Content-Type": "application/x-www-form-urlencoded"}, 
    content: "grant_type=password&username=" + this.username + "&password=" + this.password 
}); 
+0

Wenn es https ist, sollten Sie nicht ein https anfordern? –

+2

Mögliches Duplikat von [Vertrauensanker nicht für Android SSL-Verbindung gefunden] (http://stackoverflow.com/questions/6825226/trust-anchor-not-found-for-android-ssl-connection) –

+0

der letzte Kommentar aus dem Link oben: http://stackoverflow.com/a/16302527/4936697 –

Antwort

1

Ich hatte das gleiche Problem mit gültigen (nicht-selbst signierten) Zertifikat. Es stellte sich heraus, dass die CA nicht auf dem Android Emulator (Nexus 6 - API 21) installiert war.

Ich exportiert CA-Zertifikat von meinem Browser und importierte es in Emulator.

Um dies zu tun, muss SDCard aktiviert sein. Dann kopiere das Zertifikat (ich habe das mit dem Befehl "avd push" gemacht). Dann importieren Sie es aus Einstellungen-> Sicherheit-> Installieren von SD-Karte. Die gleichen Schritte sollten für selbstsignierte Zertifikate funktionieren.