KDE4.DE

KDE4 Info Blog. Zusätzlich werden viele weitere Linux Themen behandelt

Android und Apps mit HTTPS – so geht’s

Eigentlich wollte ich nur ein paar Apps ausprobieren, und das ganze im Firmenumfeld. Ich bin dann relativ schnell gescheitert, die Apps haben immer die Verbindungsparameter für invalide gehalten, und geschrieben ich solle die Einstellungen überprüfen. Nach einiger Recherche, denn ich bin mir sehr sicher das die URLs und die Credentials stimmen, habe ich heraus gefunden, dass viele Apps nicht berücksichtigt haben, dass man Zertifikate selber signieren kann. Dies wird oft bei internen Applikationen gemacht.

Lösung

Um den ganzen Herr der Lage zu werden, habe ich mir das “root” Zertifikat mit dem unsere IT alle selbst signierten Zertifikate unterschreibt geben lassen. Man muss dieses physisch auf dem Android Gerät speichern und mit der Dateiendung “.crt” versehen. Klickt man nun mit einem Dateiexplorer auf diese Datei wir einem das öffnen mit dem Zertifikatsimporter von Android geöffnet. Einmal damit im Gerät hinterlegt, kann man problemlos mit jedem App via https auf die internen Systeme zugreifen.

Besserer Lösungsvorschlag an App Entwickler

Liebe App Entwickler da draußen, bitte seht bei euren Apps vor, dass es auch Zertifikate gibt, die nicht von einem offiziellen Trustcenter signiert sind. Man kann dazu, wie beim Webbrowser, eine Rückfrage an den Anwender stellen, ob er dem Zertifikat dennoch vertrauen möchte, anstelle ihn mit “Bitte überprüfe deine URL sowie Usernamen und Kennwort” zu belasten.

 

Was denkt ihr?

4 Responses to “Android und Apps mit HTTPS – so geht’s”


  1. 7ero

    Verstehe das Problem nicht. Genau dazu gibt es doch die Möglichkeit die Zertifikate an einer zentralen stelle zu speichern.

    Bei Gnome wäre es der gnome-keyring, genauso hat Windows auch einen speziellen Platz für Zertifikate


  2. Catscrash

    “Man kann dazu, wie beim Webbrowser, eine Rückfrage an den Anwender stellen, ob er dem Zertifikat dennoch vertrauen möchte, anstelle ihn mit “Bitte überprüfe deine URL sowie Usernamen und Kennwort” zu belasten.” <<< genau das ist leider nicht so einfach. Es gibt Möglichkeiten einfach alle Zertifikate zu akzeptieren, aber das ist sicher nicht des Rätsels Lösung. Die einzige Möglichkeit scheint also zu sein diese Abfrage selbst zu programmieren und das Zertifikat dann intern zu speichern und zu vergleichen, vor dem Aufwand schrecken allerdings viele Entwickler verständlicherweise zurück.

  3. Aber da muss es doch fertige Klassen für geben. Auf der Suche nach der Lösung habe ich etliche Posts auf Stackoverflow und CO gesehen. Das waren nicht mehr als 20 bis 30 Zeilen Code.

  4. Tja, man wird eben nicht drauf hingewiesen (innerhalb der Anwendung). Es scheint erstmal so, als hätte man entweder ein User Problem (falsche URL usw) oder aber ein Netzwerkproblem.

Leave a Reply

*