EgiGeoZone Forum
EgiGeoZone => Probleme und Fehler => Thema gestartet von: ms am 28.02.2017, 15:30:39
-
Nach dem Update auf Android 7.0 ist keine Verbindung mehr zu fhem möglich.
Die Zertifikate sind nach wie vor im alten Pfad vorhanden und funktionieren in Chrome am Smartphone, es wurdne auch keine anderen Einstellungen geändert. Ideen?
2017-02-28 14:53:29,946 - [ERROR::de.egi.geofence.geozone.Worker::de.egi.geofence.geozone.Worker$1] - TestGeoZone: Error (GR02) in get of the server response
javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
at com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:361)
at com.android.okhttp.Connection.connectTls(Connection.java:1482)
at com.android.okhttp.Connection.connectSocket(Connection.java:1435)
at com.android.okhttp.Connection.connect(Connection.java:1390)
at com.android.okhttp.Connection.connectAndSetOwner(Connection.java:1667)
at com.android.okhttp.OkHttpClient$1.connectAndSetOwner(OkHttpClient.java:133)
at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:466)
at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:371)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:503)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:438)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:567)
at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.getResponseCode(DelegatingHttpsURLConnection.java:105)
at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java)
at de.egi.geofence.geozone.utils.Api.doGet(Api.java:110)
at de.egi.geofence.geozone.Worker$1.doInBackground(Worker.java:675)
at android.os.AsyncTask$2.call(AsyncTask.java:304)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:762)
Caused by: java.security.cert.CertificateException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
at com.android.org.conscrypt.TrustManagerImpl.verifyChain(TrustManagerImpl.java:545)
at com.android.org.conscrypt.TrustManagerImpl.checkTrustedRecursive(TrustManagerImpl.java:426)
at com.android.org.conscrypt.TrustManagerImpl.checkTrustedRecursive(TrustManagerImpl.java:490)
at com.android.org.conscrypt.TrustManagerImpl.checkTrusted(TrustManagerImpl.java:386)
at com.android.org.conscrypt.TrustManagerImpl.checkServerTrusted(TrustManagerImpl.java:272)
at android.security.net.config.NetworkSecurityTrustManager.checkServerTrusted(NetworkSecurityTrustManager.java:113)
at android.security.net.config.NetworkSecurityTrustManager.checkServerTrusted(NetworkSecurityTrustManager.java:87)
at android.security.net.config.RootTrustManager.checkServerTrusted(RootTrustManager.java:116)
at de.egi.geofence.geozone.ssl.CustomTrustManager.checkServerTrusted(CustomTrustManager.java:90)
at com.android.org.conscrypt.Platform.checkServerTrusted(Platform.java:182)
at com.android.org.conscrypt.OpenSSLSocketImpl.verifyCertificateChain(OpenSSLSocketImpl.java:596)
at com.android.org.conscrypt.NativeCrypto.SSL_do_handshake(Native Method)
at com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:357)
... 20 more
Caused by: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
... 33 more
2017-02-28 14:53:37,466 - [ERROR::de.egi.geofence.geozone.Settings::de.egi.geofence.geozone.Settings] - ******************************************
2017-02-28 14:53:37,471 - [ERROR::de.egi.geofence.geozone.Settings::de.egi.geofence.geozone.Settings] - EgiGeoZone: 2.1.8
2017-02-28 14:53:37,472 - [ERROR::de.egi.geofence.geozone.Settings::de.egi.geofence.geozone.Settings] - Device name: Samsung SM-G930F
2017-02-28 14:53:37,472 - [ERROR::de.egi.geofence.geozone.Settings::de.egi.geofence.geozone.Settings] - Device brand: samsung
2017-02-28 14:53:37,473 - [ERROR::de.egi.geofence.geozone.Settings::de.egi.geofence.geozone.Settings] - Android version: 7.0 (REL)
2017-02-28 14:53:37,474 - [ERROR::de.egi.geofence.geozone.Settings::de.egi.geofence.geozone.Settings] - ******************************************
Danke
Manfred
-
Ich glaube nicht, dass es mit Android 7 was am Hut hat.
java.security.cert.CertificateException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
Dieser Fehler besagt, dass falsche/abgelaufene Ausstellerzertifikate angegeben wurden, oder ein Zwischenzertifikat fehlt. Kann das sein?
-
Die selben Zertifikate laufen immer noch auf dem S4 meiner Frau (mit egigeozone) und funktionieren weiterhin am S7 beim Aufruf der Seite unter Chrome (selbes Zertifikat an anderer Stelle).
Findet egigeozone die Zertifikate trotz "path not found" oder fehlt eine Berechtigung bzw. sucht er nach dem Android-Update möglicherweise in einem anderen Pfad?
-
Findet egigeozone die Zertifikate trotz "path not found"
Das bezieht sich nicht auf einen Dateipfad, sondern einen Pfad in der Kette der Zertifikatsaussteller.
oder fehlt eine Berechtigung
Das siehst du, wenn du im Anwendungsmanager auf EgiGeoZone gehst und die Berechtigungen anschaust. Fehlt da eine?
bzw. sucht er nach dem Android-Update möglicherweise in einem anderen Pfad
Glaube ich nicht.
Geht der Test im Serverprofil? Oben auf das Brillensymbol klicken.
Lösche mal das Ausstellerzertifikat und probiere es dann.
-
Das bezieht sich nicht auf einen Dateipfad, sondern einen Pfad in der Kette der Zertifikatsaussteller.
Mag sein. Die Zertifikate habe ich alle selbst erstellt und die alten Android-Versionen hatten die "akzeptiert".
Eingetragen war unter Aussteller Zertifikate: server.crt
server.crt wurde von ca.home.lan für fhem ausgestellt und ist noch 98 Jahre gültig.
Im Zertifizierungspfad steht nur ca.home.lan darüber und ich hatte sogar das Zertifikat im Pfad, welchens ebenfalls noch 98 Jahre gültig ist.
Das siehst du, wenn du im Anwendungsmanager auf EgiGeoZone gehst und die Berechtigungen anschaust. Fehlt da eine?
alles an: Kontakte/SMS/Speicher/Standort/Telefon
Geht der Test im Serverprofil? Oben auf das Brillensymbol klicken.
Das Log war das Ergebnis des Tests im Serverprofil.
Lösche mal das Ausstellerzertifikat und probiere es dann.
Ohne das Zertifikat funktioniert es unter Android 7.0. Wozu hatte ich das denn überhaupt eingetragen wenn es auch ohne funktioniert bzw. wann sollte man es eintragen?
DANKE!
Manfred
-
Eingetragen war unter Aussteller Zertifikate: server.crt
Ist dieses im PEM-Format, so wie verlangt?
Ohne das Zertifikat funktioniert es unter Android 7.0. Wozu hatte ich das denn überhaupt eingetragen wenn es auch ohne funktioniert bzw. wann sollte man es eintragen?
Da es mit selbstsignierten Zertifikaten oder mit Zertifikaten, die nicht im Android Truststore enthalten sind, Probleme gibt, kann man auch ohne Ausstellerzertifikate arbeiten.