Announcement

Collapse
No announcement yet.

OXtender for Buisness Mobility mit Android 2.2

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • OXtender for Buisness Mobility mit Android 2.2

    Um den OXtender (6.18.2.0-20_20.2) auf open Xchange Server Edition (GUI Version: 6.18.2 Rev20, Server Version: 6.18.2-Rev20) zu testen wollte ich mein Android-Smartphone (Samsung galaxy s i9000) synchronisieren, bekomme aber dabei immer eine Fehlermeldung im Logfile.
    Die Installation des Servers und die Einstellungen auf dem Smartphone habe ich wie in der Dokumentation gemacht.
    http://oxpedia.org/wiki/index.php?ti...allation_Guide
    bzw.
    http://software.open-xchange.com/OX6...ity-German.pdf

    Könnte es ein Problem sein, dass der Server nur ein selbst zertifiziertes Zertifikat hat?

    Code:
    Feb 14, 2011 1:42:48 PM com.openexchange.usm.eas.servlet.EASServlet doOptions
    SEVERE: Internal error while authenticating for OPTIONS command
    18000e: com.openexchange.usm.api.exceptions.OXCommunicationException: Exception occurred during communication with OX server
        at com.openexchange.usm.ox_json.impl.OXJSONAccessImpl.executeMethodOnce(OXJSONAccessImpl.java:408)
        at com.openexchange.usm.ox_json.impl.OXJSONAccessImpl.performLogin(OXJSONAccessImpl.java:173)
        at com.openexchange.usm.ox_json.impl.OXJSONAccessImpl.login(OXJSONAccessImpl.java:121)
        at com.openexchange.usm.ox_json.impl.OXJSONAccessService.login(OXJSONAccessService.java:107)
        at com.openexchange.usm.session.impl.SessionManagerImpl.getSession(SessionManagerImpl.java:285)
        at com.openexchange.usm.session.impl.SessionManagerService.getSession(SessionManagerService.java:77)
        at com.openexchange.usm.eas.servlet.EASServlet.doOptions(EASServlet.java:309)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:625)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
        at com.openexchange.ajp13.najp.AJPv13RequestHandlerImpl.doServletService(AJPv13RequestHandlerImpl.java:517)
        at com.openexchange.ajp13.AJPv13Request.response(AJPv13Request.java:129)
        at com.openexchange.ajp13.najp.AJPv13RequestHandlerImpl.createResponse(AJPv13RequestHandlerImpl.java:329)
        at com.openexchange.ajp13.najp.AJPv13ConnectionImpl.createResponse(AJPv13ConnectionImpl.java:235)
        at com.openexchange.ajp13.najp.AJPv13Task.call(AJPv13Task.java:352)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:284)
        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
        at com.openexchange.threadpool.internal.CustomThreadPoolExecutor$Worker.runTask(CustomThreadPoolExecutor.java:750)
        at com.openexchange.threadpool.internal.CustomThreadPoolExecutor$Worker.run(CustomThreadPoolExecutor.java:776)
        at java.lang.Thread.run(Thread.java:811)
    Caused by: javax.net.ssl.SSLHandshakeException: com.ibm.jsse2.util.h: PKIX path building failed: java.security.cert.CertPathBuilderException: unable to find valid certification path to requested target
        at com.ibm.jsse2.n.a(n.java:8)
        at com.ibm.jsse2.pc.a(pc.java:210)
        at com.ibm.jsse2.eb.a(eb.java:478)
        at com.ibm.jsse2.eb.a(eb.java:536)
        at com.ibm.jsse2.fb.a(fb.java:162)
        at com.ibm.jsse2.fb.a(fb.java:290)
        at com.ibm.jsse2.eb.m(eb.java:17)
        at com.ibm.jsse2.eb.a(eb.java:295)
        at com.ibm.jsse2.pc.a(pc.java:214)
        at com.ibm.jsse2.pc.g(pc.java:376)
        at com.ibm.jsse2.pc.a(pc.java:244)
        at com.ibm.jsse2.j.write(j.java:12)
        at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:88)
        at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:146)
        at org.apache.commons.httpclient.methods.EntityEnclosingMethod.writeRequestBody(EntityEnclosingMethod.java:506)
        at org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java:2114)
        at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1096)
        at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398)
        at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
        at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
        at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
        at com.openexchange.usm.ox_json.impl.OXJSONAccessImpl.executeMethod(OXJSONAccessImpl.java:589)
        at com.openexchange.usm.ox_json.impl.OXJSONAccessImpl.executeMethodOnce(OXJSONAccessImpl.java:397)
        ... 18 more
    Caused by: com.ibm.jsse2.util.h: PKIX path building failed: java.security.cert.CertPathBuilderException: unable to find valid certification path to requested target
        at com.ibm.jsse2.util.f.b(f.java:93)
        at com.ibm.jsse2.util.f.b(f.java:85)
        at com.ibm.jsse2.util.e.a(e.java:9)
        at com.ibm.jsse2.ec.checkServerTrusted(ec.java:3)
        at com.ibm.jsse2.nb.checkServerTrusted(nb.java:16)
        at com.ibm.jsse2.fb.a(fb.java:298)
        ... 36 more
    Caused by: java.security.cert.CertPathBuilderException: unable to find valid certification path to requested target
        at com.ibm.security.cert.PKIXCertPathBuilderImpl.buildCertPath(PKIXCertPathBuilderImpl.java:379)
        at com.ibm.security.cert.PKIXCertPathBuilderImpl.engineBuild(PKIXCertPathBuilderImpl.java:195)
        at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:215)
        at com.ibm.jsse2.util.f.b(f.java:68)
        ... 41 more

  • #2
    Hallo,

    die Vermutung ist korrekt. Generell sollte man vertrauenswürdige Zertifikate nutzen, selbstsignierte sind schlimmer als gar kein SSL. In diesem Fall Tritt der Fehler zwischen OX und der USM Komponente auf. USM ist sehr strikt was SSL angeht. Du kannst es wie folgt beheben:

    1. Ein gültiges Zertifikat für Apache nutzen
    - oder -
    2. In der Datei /opt/open-xchange/etc/groupware/usm.properties den Parameter com.openexchange.usm.ox.url prüfen und auf eine nicht-SSL URL einstellen

    Dann OX neustarten und es sollte funktionieren.

    Gruß

    Comment


    • #3
      hallo martin,
      möchte mich da mit einbringen: wir verwenden selber selbst ausgestellte Zertifikate für unseren Apache.
      Bisher hat das super funktioniert (dzt. 6.18.0 Rev14) - ob das schlechter ist lasse ich mal offen - es kann sich halt nicht jeder ein Zertifikat kaufen - und das jedes Jahr ;-)

      Wenn ich deine antwort richtig verstehe, gibt es da mit der neuen Release eine striktere Handhabung? D.h. diese Zertifikate funktionieren dann nicht mehr?

      Falls dem so ist, ist das grundsätzlich nicht gut - zumindest möchte ich unseren Traffic verschlüsseln mit unserem eigenen Zertifikat - das sollte auch weiterhin möglich sein (zuminest optinal).

      Grüss dich
      Horst

      Comment


      • #4
        "selbstsignierte sind schlimmer als gar kein SSL" würd ich jetzt auch nicht so stehen lassen

        Comment


        • #5
          Hallo,

          die strikte Handhabung von SSL Zertifikaten war iirc schon immer in USM. Du hast wie gesagt 3 Optionen:
          1.) Kein SSL nutzen
          2.) Die CA zu eurem selbstsigniertes Cert in den Java SSL Keystore importieren damit es akzeptiert wird
          3.) Ein Cert nutzen dessen CA in den Browsern vorinstalliert ist.

          @Oliver: Ein brauchbares Cert (Thawte SSL123 über Reseller) kostet pro Jahr 39€, im Gegenzug dafür erhält man weniger Supportanfragen wegen Warnmeldungen im Browser. Gerade mobile Geräte verweigern schonmal den Dienst wenn das Cert nicht stimmt. Ich bin der Meinung dass die Anweisung "Jaja ist nicht so schlimm wenn da ein Fehler kommt, einfach akzeptieren" die Benutzer falsch erzieht was den Umgang mit vertraulichen Daten im Internet angeht. Wenn man bzw. der Browser dem Cert nicht traut, kann es sich genau so um einen Phishing oder Man-In-The-Middle Angriff handeln. Der Benutzer wähnt sich u.U. in falscher Sicherheit weil zwar die Verschlüsselung aktiv ist, die Authentizität des Servers jedoch nicht bestätigt werden kann. Aber das ist natürlich nur meine bescheidene Meinung

          Gruß

          Comment


          • #6
            Hallo,

            unser Server hat nun ein Zertifikat. Das ist aber leider nicht mit dem erhofften Erfolg verbunden.
            Beim Einrichten des Android Smartphones und dem ersten Sync-Versuch entsteht weiterhin die Fehlermeldung:

            Code:
            Feb 23, 2011 2:11:06 PM com.openexchange.usm.eas.servlet.EASServlet doOptions
            SEVERE: Internal error while authenticating for OPTIONS command
            18000e: com.openexchange.usm.api.exceptions.OXCommunicationException: Exception occurred during communication with OX server
            	at com.openexchange.usm.ox_json.impl.OXJSONAccessImpl.executeMethodOnce(OXJSONAccessImpl.java:408)
            	at com.openexchange.usm.ox_json.impl.OXJSONAccessImpl.performLogin(OXJSONAccessImpl.java:173)
            	at com.openexchange.usm.ox_json.impl.OXJSONAccessImpl.login(OXJSONAccessImpl.java:121)
            	at com.openexchange.usm.ox_json.impl.OXJSONAccessService.login(OXJSONAccessService.java:107)
            	at com.openexchange.usm.session.impl.SessionManagerImpl.getSession(SessionManagerImpl.java:285)
            	at com.openexchange.usm.session.impl.SessionManagerService.getSession(SessionManagerService.java:77)
            	at com.openexchange.usm.eas.servlet.EASServlet.doOptions(EASServlet.java:309)
            	at javax.servlet.http.HttpServlet.service(HttpServlet.java:625)
            	at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
            	at com.openexchange.ajp13.najp.AJPv13RequestHandlerImpl.doServletService(AJPv13RequestHandlerImpl.java:517)
            	at com.openexchange.ajp13.AJPv13Request.response(AJPv13Request.java:129)
            	at com.openexchange.ajp13.najp.AJPv13RequestHandlerImpl.createResponse(AJPv13RequestHandlerImpl.java:329)
            	at com.openexchange.ajp13.najp.AJPv13ConnectionImpl.createResponse(AJPv13ConnectionImpl.java:235)
            	at com.openexchange.ajp13.najp.AJPv13Task.call(AJPv13Task.java:352)
            	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:284)
            	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
            	at com.openexchange.threadpool.internal.CustomThreadPoolExecutor$Worker.runTask(CustomThreadPoolExecutor.java:750)
            	at com.openexchange.threadpool.internal.CustomThreadPoolExecutor$Worker.run(CustomThreadPoolExecutor.java:776)
            	at java.lang.Thread.run(Thread.java:811)
            Caused by: javax.net.ssl.SSLHandshakeException: com.ibm.jsse2.util.h: PKIX path building failed: java.security.cert.CertPathBuilderException: PKIXCertPathBuilderImpl could not build a valid CertPath.; internal cause is: 
            	java.security.cert.CertPathValidatorException: The certificate issued by EMAILADDRESS=pki@uni-wuppertal.de, CN=Uni-Wuppertal CA, OU=ZIM, O=Bergische Universitaet Wuppertal, L=Wuppertal, ST=Nordrhein-Westfalen, C=DE is not trusted; internal cause is: 
            	java.security.cert.CertPathValidatorException: Certificate chaining error
            	at com.ibm.jsse2.n.a(n.java:8)
            	at com.ibm.jsse2.pc.a(pc.java:210)
            	at com.ibm.jsse2.eb.a(eb.java:478)
            	at com.ibm.jsse2.eb.a(eb.java:536)
            	at com.ibm.jsse2.fb.a(fb.java:162)
            	at com.ibm.jsse2.fb.a(fb.java:290)
            	at com.ibm.jsse2.eb.m(eb.java:17)
            	at com.ibm.jsse2.eb.a(eb.java:295)
            	at com.ibm.jsse2.pc.a(pc.java:214)
            	at com.ibm.jsse2.pc.g(pc.java:376)
            	at com.ibm.jsse2.pc.a(pc.java:244)
            	at com.ibm.jsse2.j.write(j.java:12)
            	at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:88)
            	at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:146)
            	at org.apache.commons.httpclient.methods.EntityEnclosingMethod.writeRequestBody(EntityEnclosingMethod.java:506)
            	at org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java:2114)
            	at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1096)
            	at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398)
            	at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
            	at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
            	at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
            	at com.openexchange.usm.ox_json.impl.OXJSONAccessImpl.executeMethod(OXJSONAccessImpl.java:589)
            	at com.openexchange.usm.ox_json.impl.OXJSONAccessImpl.executeMethodOnce(OXJSONAccessImpl.java:397)
            	... 18 more
            Caused by: com.ibm.jsse2.util.h: PKIX path building failed: java.security.cert.CertPathBuilderException: PKIXCertPathBuilderImpl could not build a valid CertPath.; internal cause is: 
            	java.security.cert.CertPathValidatorException: The certificate issued by EMAILADDRESS=pki@uni-wuppertal.de, CN=Uni-Wuppertal CA, OU=ZIM, O=Bergische Universitaet Wuppertal, L=Wuppertal, ST=Nordrhein-Westfalen, C=DE is not trusted; internal cause is: 
            	java.security.cert.CertPathValidatorException: Certificate chaining error
            	at com.ibm.jsse2.util.f.b(f.java:93)
            	at com.ibm.jsse2.util.f.b(f.java:85)
            	at com.ibm.jsse2.util.e.a(e.java:9)
            	at com.ibm.jsse2.ec.checkServerTrusted(ec.java:3)
            	at com.ibm.jsse2.nb.checkServerTrusted(nb.java:16)
            	at com.ibm.jsse2.fb.a(fb.java:298)
            	... 36 more
            Caused by: java.security.cert.CertPathBuilderException: PKIXCertPathBuilderImpl could not build a valid CertPath.; internal cause is: 
            	java.security.cert.CertPathValidatorException: The certificate issued by EMAILADDRESS=pki@uni-wuppertal.de, CN=Uni-Wuppertal CA, OU=ZIM, O=Bergische Universitaet Wuppertal, L=Wuppertal, ST=Nordrhein-Westfalen, C=DE is not trusted; internal cause is: 
            	java.security.cert.CertPathValidatorException: Certificate chaining error
            	at com.ibm.security.cert.PKIXCertPathBuilderImpl.engineBuild(PKIXCertPathBuilderImpl.java:249)
            	at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:215)
            	at com.ibm.jsse2.util.f.b(f.java:68)
            	... 41 more
            Caused by: java.security.cert.CertPathValidatorException: The certificate issued by EMAILADDRESS=pki@uni-wuppertal.de, CN=Uni-Wuppertal CA, OU=ZIM, O=Bergische Universitaet Wuppertal, L=Wuppertal, ST=Nordrhein-Westfalen, C=DE is not trusted; internal cause is: 
            	java.security.cert.CertPathValidatorException: Certificate chaining error
            	at com.ibm.security.cert.BasicChecker.<init>(BasicChecker.java:111)
            	at com.ibm.security.cert.PKIXCertPathValidatorImpl.engineValidate(PKIXCertPathValidatorImpl.java:176)
            	at com.ibm.security.cert.PKIXCertPathBuilderImpl.myValidator(PKIXCertPathBuilderImpl.java:474)
            	at com.ibm.security.cert.PKIXCertPathBuilderImpl.buildCertPath(PKIXCertPathBuilderImpl.java:386)
            	at com.ibm.security.cert.PKIXCertPathBuilderImpl.engineBuild(PKIXCertPathBuilderImpl.java:195)
            	... 43 more
            Caused by: java.security.cert.CertPathValidatorException: Certificate chaining error
            	at com.ibm.security.cert.CertPathUtil.findIssuer(CertPathUtil.java:298)
            	at com.ibm.security.cert.BasicChecker.<init>(BasicChecker.java:108)
            	... 47 more
            Vielen Dank für die Hilfe,
            Michael

            Comment


            • #7
              Hi Michael,

              die CA die das Cert ausgestellt hat, ist der Java Virtual Machine nicht bekannt. Du musst das CA Cert evtl. erst noch importieren. http://download.oracle.com/javase/tu...gn/rstep2.html

              Gruß

              Comment


              • #8
                Hallo Martin,
                jetzt bekomme ich im Logfile keine Fehlermeldungen mehr, leider funktioniert die Verbindung aber trotzdem nicht.
                Fehlermeldung unter Android:
                "Einrichtung wurde nicht abgeschlossen. Verbindung mit Server kann wegen Sicherheitsfehlern nicht geöffnet werden."
                Ist es ein Problem wenn die Email-Domain @xxx nicht mit dem Namen des OX-Servers übereinstimmt?

                Viele Grüße,
                Michael

                Comment


                • #9
                  Hallo,

                  die Synchronisation läuft über HTTP und ist von der E-Mail Domain unabhängig. Was genau der Fehler zu bedeuten hat, kann ich dir auch nicht sagen. Er wird vom Gerät bzw. vom ActiveSync Client generiert, nicht von OX. Funktioniert denn der Zugriff per HTTPS im Browser auf diesen Server nun problemlos? Der Client nutzt https://ox-server.tld/Microsoft-Server-ActiveSync um Daten auszutauschen.

                  Gruß

                  Comment

                  Working...
                  X