| |||||||
Das Thema "HTTPS-Problem" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.
|
| | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Fortgeschrittenes Mitglied Modell: HTC Sensation Registriert seit: 31.08.2011
Beiträge: 390
Abgegebene Danke: 25
Erhielt 59 Danke für 57 Beiträge
| ich muß eine HTTPS-Connection zu einem Server aufbauen und die Antwort verarbeiten. Dazu hab ich erst mal Google benutzt, um mir einige Code-Beispiele anzusehen. Folgendes, sehr simpe Code-Beispiel, habe ich dann verwendet (die url ist natürlich hier ausgetauscht): Code: URL url;
try {
url = new URL("https://test.data.com");
HttpsURLConnection sslConnection = (HttpsURLConnection)url.openConnection();
System.out.println(sslConnection.getResponseMessage());
String readLine;
BufferedReader buffReader = new BufferedReader (new InputStreamReader (sslConnection.getInputStream()));
int counter = 0;
//while (true) {
while (counter < 6) {
readLine = buffReader.readLine ();
if (readLine == null) {
sslConnection.disconnect();
return;
}
else {
counter++;
System.out.println(readLine);
}
}
sslConnection.disconnect();
}
catch (MalformedURLException e) {
e.printStackTrace();
}
catch (IOException ioe) {
ioe.printStackTrace();
} Code: sslConnection.disconnect() Danach hatte es zumindest den Anschein, als würde es klappen, da es 3 oder 4 mal in Folge geklappt hat. Danach kam aber wieder der Fehler: Code: javax.net.ssl.SSLException: Not trusted server certificate . . Caused by: java.security.cert.CertificateException: java.security.cert.CertPathValidatorException: TrustAnchor for CertPath not found. . . Caused by: java.security.cert.CertPathValidatorException: TrustAnchor for CertPath not found. |
| | |
| | #2 (permalink) |
| Ehren-Mitglied |
Ich nehme an, der Server hat kein Zertifikat, dem Android vertraut. Versuch das mal: http://stackoverflow.com/questions/2...-or-better-way
__________________ CyanogenMod 7 Nightly - AmonRa Recovery 2.0 - Nexus One Kein Support via PN und E-Mail. Bitte das Forum nutzen. "Es ist Mode geworden, die Freiheitsrechte des Bürgers in den Mittelpunkt zu stellen." - Siegfried Kauder |
| | |
| | #3 (permalink) |
| Fortgeschrittenes Mitglied Modell: HTC Sensation Registriert seit: 31.08.2011
Beiträge: 390
Abgegebene Danke: 25
Erhielt 59 Danke für 57 Beiträge
|
Danke für die Links, aber die kannte ich schon ;-) Leider gehts da fast immer nur um self-signed SSL certificates. Wir haben aber ein Zertifikat von Verisign. Ich kenn mich damit zwar nicht wirklich aus, aber ich nehme mal an, daß es dann nicht self-signed ist. Und ein KeyStore-File hab ich auch nicht und wüßte auch nicht, wo ich sowas finde ;-) Witzig ist halt, daß mein Arbeitskollege (er hat damals die Anwendung für Windows Mobile gemacht, ich portiere jetzt auf Android) genau die gleichen Probleme hat(te), mal ging es, mal nicht. Er hat einfach mehrmals die Connection versucht bis es ging. Aber mir gefällt die Lösung nicht, da es dann zu sehr auf Zufall beruht. Ich hab auch schon mal das TimeOut hochgesetzt, aber damit hat es auch nichts zu tun. Entweder kommt die Fehlermeldung sofort oder es funktioniert. Ist es möglich, daß der WebServer nen Tick hat oder so? |
| | |
| | #4 (permalink) |
| Fortgeschrittenes Mitglied Modell: HTC Sensation Registriert seit: 31.08.2011
Beiträge: 390
Abgegebene Danke: 25
Erhielt 59 Danke für 57 Beiträge
|
Sieht so aus, als wäre dieser "Bug" nur bei Android < 2.3 vorhanden. Ich entwickele soweit es geht meistens auf 1.6 oder 2.1, und da ist mir dieser Bug sowohl mit dem Test-Handy als auch mit dem AVD begegnet. Jetzt hab ich spaßeshalber mal mein HTC Sensation mit der App getestet und siehe da, 20 mal in Folge eine Verbindung, nicht 1 Fehler. Hab dann mal ne AVD mit 2.3.1 erstellt und auch hier klappt die Verbindung ohne Fehler. Kann das evtl. jemand bestätigen? ;-) |
| | |
| | #5 (permalink) |
| Junior Mitglied Registriert seit: 28.09.2011
Beiträge: 39
Abgegebene Danke: 0
Erhielt 9 Danke für 6 Beiträge
| ich kann das bestätigen definitiv ein Bug vor 2.3. ![]() Habe jetzt auf mehreren Geräten und AVD‘s getestet und einige User haben sich bei mir wegen diesem Problem ebenfalls gemeldet. |
| | |
| | #6 (permalink) |
| Junior Mitglied Registriert seit: 28.09.2011
Beiträge: 39
Abgegebene Danke: 0
Erhielt 9 Danke für 6 Beiträge
| und hier die Lösung Code: if ( android.os.Build.VERSION.SDK_INT < 9) {
System.setProperty("http.keepAlive", "false");
} |
| | |
| Folgender Benutzer bedankt sich bei Monty1979 für diesen Beitrag: | Tom299 (06.01.2012) |
![]() |
|
| Themen-Optionen | |
| Ansicht | |
| |
| ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Problem mit https-Seite | pep | Sony Ericsson Xperia X10 Mini / Mini Pro | 16 | 17.11.2010 17:06 |
| https:// Problem mit sicheren Verbindungen | da_geri | Samsung Galaxy S (I9000) Forum | 7 | 08.11.2010 23:24 |
| https:// Domains | c0rtez | Motorola Milestone Forum | 19 | 02.07.2010 20:51 |
| https oder Javascript Problem? | Katzenstreu | Sonstige Apps & Widgets | 3 | 07.11.2009 18:01 |