Ankündigung

Einklappen
Keine Ankündigung bisher.

Fehler iCloud Binding

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Fehler iCloud Binding

    Hallo!

    Im englischen Forum gibt es einige Diskussion über Fehler des iCloud Bindings.

    Bei mir wirft es folgenden Fehler aus, das Zertifikat im Speicher ist das Problem:


    21:06:12.937 [WARN ] [d.handler.ICloudAccountBridgeHandler] - Unable to refresh device data
    javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderE xception: unable to find valid certification path to requested target
    at sun.security.ssl.Alerts.getSSLException(Alerts.jav a:192) ~[?:?]
    at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl .java:1964) ~[?:?]
    at sun.security.ssl.Handshaker.fatalSE(Handshaker.jav a:328) ~[?:?]
    at sun.security.ssl.Handshaker.fatalSE(Handshaker.jav a:322) ~[?:?]
    at sun.security.ssl.ClientHandshaker.serverCertificat e(ClientHandshaker.java:1614) ~[?:?]
    at sun.security.ssl.ClientHandshaker.processMessage(C lientHandshaker.java:216) ~[?:?]
    at sun.security.ssl.Handshaker.processLoop(Handshaker .java:1052) ~[?:?]
    at sun.security.ssl.Handshaker.process_record(Handsha ker.java:987) ~[?:?]
    at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocke tImpl.java:1072) ~[?:?]
    at sun.security.ssl.SSLSocketImpl.performInitialHands hake(SSLSocketImpl.java:1385) ~[?:?]
    at sun.security.ssl.SSLSocketImpl.startHandshake(SSLS ocketImpl.java:1413) ~[?:?]
    at sun.security.ssl.SSLSocketImpl.startHandshake(SSLS ocketImpl.java:1397) ~[?:?]
    at sun.net.https://www.protocol.https.HttpsClie...lient.java:559) ~[?:?]
    at sun.net.https://www.protocol.https.AbstractD...ction.java:185) ~[?:?]
    at sun.net.https://www.protocol.http.HttpURLCon...tion.java:1334) ~[?:?]
    at sun.net.https://www.protocol.http.HttpURLCon...tion.java:1309) ~[?:?]
    at sun.net.https://www.protocol.https.HttpsURLC...nImpl.java:259) ~[?:?]
    at org.openhab.binding.icloud.internal.Connection.pos tRequest(Connection.java:95) ~[?:?]
    at org.openhab.binding.icloud.internal.Connection.req uestDeviceStatusJSON(Connection.java:55) ~[?:?]
    at org.openhab.binding.icloud.handler.ICloudAccountBr idgeHandler.lambda$0(ICloudAccountBridgeHandler.ja va:81) ~[?:?]
    at org.eclipse.smarthome.core.cache.ExpiringCache.ref reshValue(ExpiringCache.java:81) ~[?:?]
    at org.eclipse.smarthome.core.cache.ExpiringCache.get Value(ExpiringCache.java:61) ~[?:?]
    at org.openhab.binding.icloud.handler.ICloudAccountBr idgeHandler.refreshData(ICloudAccountBridgeHandler .java:132) ~[?:?]
    at org.openhab.binding.icloud.handler.ICloudAccountBr idgeHandler.lambda$1(ICloudAccountBridgeHandler.ja va:123) ~[?:?]
    at java.util.concurrent.Executors$RunnableAdapter.cal l(Executors.java:511) [?:?]
    at java.util.concurrent.FutureTask.runAndReset(Future Task.java:308) [?:?]
    at java.util.concurrent.ScheduledThreadPoolExecutor$S cheduledFutureTask.access$301(ScheduledThreadPoolE xecutor.java:180) [?:?]
    at java.util.concurrent.ScheduledThreadPoolExecutor$S cheduledFutureTask.run(ScheduledThreadPoolExecutor .java:294) [?:?]
    at java.util.concurrent.ThreadPoolExecutor.runWorker( ThreadPoolExecutor.java:1149) [?:?]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:624) [?:?]
    at java.lang.Thread.run(Thread.java:748) [?:?]
    Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderE xception: unable to find valid certification path to requested target
    at sun.security.validator.PKIXValidator.doBuild(PKIXV alidator.java:397) ~[?:?]
    at sun.security.validator.PKIXValidator.engineValidat e(PKIXValidator.java:302) ~[?:?]
    at sun.security.validator.Validator.validate(Validato r.java:262) ~[?:?]
    at sun.security.ssl.X509TrustManagerImpl.validate(X50 9TrustManagerImpl.java:324) ~[?:?]
    at sun.security.ssl.X509TrustManagerImpl.checkTrusted (X509TrustManagerImpl.java:229) ~[?:?]
    at sun.security.ssl.X509TrustManagerImpl.checkServerT rusted(X509TrustManagerImpl.java:124) ~[?:?]
    at sun.security.ssl.ClientHandshaker.serverCertificat e(ClientHandshaker.java:1596) ~[?:?]
    ... 26 more
    Caused by: sun.security.provider.certpath.SunCertPathBuilderE xception: unable to find valid certification path to requested target
    at sun.security.provider.certpath.SunCertPathBuilder. build(SunCertPathBuilder.java:141) ~[?:?]
    at sun.security.provider.certpath.SunCertPathBuilder. engineBuild(SunCertPathBuilder.java:126) ~[?:?]
    at java.security.cert.CertPathBuilder.build(CertPathB uilder.java:280) ~[?:?]
    at sun.security.validator.PKIXValidator.doBuild(PKIXV alidator.java:392) ~[?:?]
    at sun.security.validator.PKIXValidator.engineValidat e(PKIXValidator.java:302) ~[?:?]
    at sun.security.validator.Validator.validate(Validato r.java:262) ~[?:?]
    at sun.security.ssl.X509TrustManagerImpl.validate(X50 9TrustManagerImpl.java:324) ~[?:?]
    at sun.security.ssl.X509TrustManagerImpl.checkTrusted (X509TrustManagerImpl.java:229) ~[?:?]
    at sun.security.ssl.X509TrustManagerImpl.checkServerT rusted(X509TrustManagerImpl.java:124) ~[?:?]
    at sun.security.ssl.ClientHandshaker.serverCertificat e(ClientHandshaker.java:1596) ~[?:?]
    ... 26 more
    2018-08-0921:11:13.245 [WARN ] [d.handler.ICloudAccountBridgeHandler] - Unable to refresh device data
    javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderE xception: unable to find valid certification path to requested target
    at sun.security.ssl.Alerts.getSSLException(Alerts.jav a:192) ~[?:?]
    at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl .java:1964) ~[?:?]
    at sun.security.ssl.Handshaker.fatalSE(Handshaker.jav a:328) ~[?:?]
    at sun.security.ssl.Handshaker.fatalSE(Handshaker.jav a:322) ~[?:?]
    at sun.security.ssl.ClientHandshaker.serverCertificat e(ClientHandshaker.java:1614) ~[?:?]
    at sun.security.ssl.ClientHandshaker.processMessage(C lientHandshaker.java:216) ~[?:?]
    at sun.security.ssl.Handshaker.processLoop(Handshaker .java:1052) ~[?:?]
    at sun.security.ssl.Handshaker.process_record(Handsha ker.java:987) ~[?:?]
    at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocke tImpl.java:1072) ~[?:?]
    at sun.security.ssl.SSLSocketImpl.performInitialHands hake(SSLSocketImpl.java:1385) ~[?:?]
    at sun.security.ssl.SSLSocketImpl.startHandshake(SSLS ocketImpl.java:1413) ~[?:?]
    at sun.security.ssl.SSLSocketImpl.startHandshake(SSLS ocketImpl.java:1397) ~[?:?]
    at sun.net.https://www.protocol.https.HttpsClie...lient.java:559) ~[?:?]
    at sun.net.https://www.protocol.https.AbstractD...ction.java:185) ~[?:?]
    at sun.net.https://www.protocol.http.HttpURLCon...tion.java:1334) ~[?:?]
    at sun.net.https://www.protocol.http.HttpURLCon...tion.java:1309) ~[?:?]
    at sun.net.https://www.protocol.https.HttpsURLC...nImpl.java:259) ~[?:?]
    at org.openhab.binding.icloud.internal.Connection.pos tRequest(Connection.java:95) ~[?:?]
    at org.openhab.binding.icloud.internal.Connection.req uestDeviceStatusJSON(Connection.java:55) ~[?:?]
    at org.openhab.binding.icloud.handler.ICloudAccountBr idgeHandler.lambda$0(ICloudAccountBridgeHandler.ja va:81) ~[?:?]
    at org.eclipse.smarthome.core.cache.ExpiringCache.ref reshValue(ExpiringCache.java:81) ~[?:?]
    at org.eclipse.smarthome.core.cache.ExpiringCache.get Value(ExpiringCache.java:61) ~[?:?]
    at org.openhab.binding.icloud.handler.ICloudAccountBr idgeHandler.refreshData(ICloudAccountBridgeHandler .java:132) ~[?:?]
    at org.openhab.binding.icloud.handler.ICloudAccountBr idgeHandler.lambda$1(ICloudAccountBridgeHandler.ja va:123) ~[?:?]
    at java.util.concurrent.Executors$RunnableAdapter.cal l(Executors.java:511) [?:?]
    at java.util.concurrent.FutureTask.runAndReset(Future Task.java:308) [?:?]
    at java.util.concurrent.ScheduledThreadPoolExecutor$S cheduledFutureTask.access$301(ScheduledThreadPoolE xecutor.java:180) [?:?]
    at java.util.concurrent.ScheduledThreadPoolExecutor$S cheduledFutureTask.run(ScheduledThreadPoolExecutor .java:294) [?:?]
    at java.util.concurrent.ThreadPoolExecutor.runWorker( ThreadPoolExecutor.java:1149) [?:?]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:624) [?:?]
    at java.lang.Thread.run(Thread.java:748) [?:?]
    Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderE xception: unable to find valid certification path to requested target
    at sun.security.validator.PKIXValidator.doBuild(PKIXV alidator.java:397) ~[?:?]
    at sun.security.validator.PKIXValidator.engineValidat e(PKIXValidator.java:302) ~[?:?]
    at sun.security.validator.Validator.validate(Validato r.java:262) ~[?:?]
    at sun.security.ssl.X509TrustManagerImpl.validate(X50 9TrustManagerImpl.java:324) ~[?:?]
    at sun.security.ssl.X509TrustManagerImpl.checkTrusted (X509TrustManagerImpl.java:229) ~[?:?]
    at sun.security.ssl.X509TrustManagerImpl.checkServerT rusted(X509TrustManagerImpl.java:124) ~[?:?]
    at sun.security.ssl.ClientHandshaker.serverCertificat e(ClientHandshaker.java:1596) ~[?:?]

    usw...

    Die Anleitungen im englischen Forum fruchten nicht.

    Hat einer von euch eine Idee?

    #2
    Hallo,
    die Anleitung aus dem engl. Forum funktioniert, Voraussetzung ist aber ein Unix-System. Das sind die Befehle die ich bei mir ausführen muss:

    Code:
    cd /tmp
    [COLOR=#979797]openssl s_client -servername fmipmobile.icloud.com -host fmipmobile.icloud.com -port 443 -prexit -showcerts 2>/dev/null | sed -ne [/COLOR][COLOR=#CB8F76]'/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p'[/COLOR][COLOR=#979797] > /tmp/icloud2.crt[/COLOR]
    [COLOR=#979797]csplit -f cert /tmp/icloud2.crt? [/COLOR][COLOR=#CB8F76]'/^-----BEGIN CERTIFICATE-----/'[/COLOR][COLOR=#979797] {*}[/COLOR]
    [COLOR=#72A1BA][FONT=Consolas]$JAVA_HOME[/FONT][/COLOR][COLOR=#979797][FONT=Consolas]/bin/keytool -import [/FONT][/COLOR][FONT=Calibri] -noprompt -storepass changeit[/FONT][COLOR=#979797][FONT=Consolas] -keystore [/FONT][/COLOR][COLOR=#72A1BA][FONT=Consolas]$JAVA_HOME[/FONT][/COLOR][COLOR=#979797][FONT=Consolas]/jre/lib/security/cacerts -alias fmip-icloud1-Root-CA -file /tmp/cert01[/FONT][/COLOR]
    [COLOR=#72A1BA][FONT=Consolas]$JAVA_HOME[/FONT][/COLOR][COLOR=#979797][FONT=Consolas]/bin/keytool -import [/FONT][/COLOR][FONT=Calibri] -noprompt -storepass changeit[/FONT][COLOR=#979797][FONT=Consolas] -keystore [/FONT][/COLOR][COLOR=#72A1BA][FONT=Consolas]$JAVA_HOME[/FONT][/COLOR][COLOR=#979797][FONT=Consolas]/jre/lib/security/cacerts -alias fmip-icloud2-Root-CA -file /tmp/cert02[/FONT][/COLOR]
    Bei mir hat es definitv geholfen. Im Zweifelsfall kann ich dir die Dateien cert01 und cert02 zur Verfügung stellen, die beiden letzten Befehle müssten auch unter Windows laufen (mit angepassten Pfaden natürlich).

    Ludger

    Kommentar


      #3
      Hallo!
      Das mit den Dateien wäre nett von dir.
      Ich nutze Windows, habe mich mit Putty verbunden und so die Befehle ausgeführt.
      Openhab läuft bei mir über einen Raspberry Pi3.
      leider wird es so nichts...

      Kommentar


        #4
        Hallo,
        ich glaube die Dateien sind nicht die Lösung deines Problems. Auf einem Raspberry Pi sollten die Befehle eigentlich als root laufen.

        Die beiden Dateien in der ZIP müsstes Du in das Verz. /tmp ablegen. Dann folgende Befehle nacheinander ausführen:
        Code:
        [COLOR=#72A1BA][FONT=Consolas]sudo $JAVA_HOME[/FONT][/COLOR][COLOR=#979797][FONT=Consolas]/bin/keytool -import [/FONT][/COLOR][FONT=Calibri] -noprompt -storepass changeit[/FONT][COLOR=#979797][FONT=Consolas] -keystore [/FONT][/COLOR][COLOR=#72A1BA][FONT=Consolas]$JAVA_HOME[/FONT][/COLOR][COLOR=#979797][FONT=Consolas]/jre/lib/security/cacerts -alias fmip-icloud1-Root-CA -file /tmp/cert01[/FONT][/COLOR]
        [COLOR=#72A1BA][FONT=Consolas]sudo $JAVA_HOME[/FONT][/COLOR][COLOR=#979797][FONT=Consolas]/bin/keytool -import [/FONT][/COLOR][FONT=Calibri] -noprompt -storepass changeit[/FONT][COLOR=#979797][FONT=Consolas] -keystore [/FONT][/COLOR][COLOR=#72A1BA][FONT=Consolas]$JAVA_HOME[/FONT][/COLOR][COLOR=#979797][FONT=Consolas]/jre/lib/security/cacerts -alias fmip-icloud2-Root-CA -file /tmp/cert02 [/FONT][/COLOR]
        Angehängte Dateien

        Kommentar


          #5
          Vielen Dank, ich werde das nächste Woche probieren und das Ergebnis posten :-)

          Kommentar


            #6
            So, Urlaub ist vorbei, das mit dem Einspielen der beiden Dateien hat geholfen. Der Fehler scheint nicht mehr in der Log auf, auch das Einlesen vom iPhone geht wieder.
            Vielen Dank!

            Kommentar

            Lädt...
            X