Bernd Sch
Rang: Android HiWi
Beiträge: 102
Eintrittsdatum: 09.11.2009
Modell: HTC Hero
Firmware: 2.2.1
Mod: CyanogenMod-6.1.0-Hero
Kernel: 2.6.29.6-flykernel-12pre1
Build: FRG83
Provider: bob
|
"Not trusted server certificate"
verfasst am 15.06.2010 23:56:08
Hallo, Ich würde gerne programmatisch mit einem HTTPClient auf eine https-URL zugreifen, bei der das Server-Zertifikat aber ein selbst erstelltes Zertifikat verwendet. Aktuell mache ich das ungefähr so 1HttpClient httpclient = new DefaultHttpClient(); 2HttpPost httpPost = new HttpPost(url); 3HttpResponse response = httpclient.execute(httpPost);
Jetzt bekomme ich aber die Meldung "Not trusted server certificate". Hatte dieses Problem schon jemand und hat eine Lösung dafür gefunden? lg Bernd
|
Mac Systems
Rang: Android GoldSenior
Beiträge: 1.007
Eintrittsdatum: 21.06.2009
Modell: Galaxy Nexus
Firmware: 4.0.3
Mod: -
Kernel: -
Build: -
Provider: -
|
RE: "Not trusted server certificate"
verfasst am 16.06.2010 12:39:04
Das sollte wie mit plain Java funtzen, Ich würde das in dieser Art versuchen zu lösen: http://ross-o.com/index.php?/archives/19-Adding-SSL-to-HttpClient.html
-----
Kite-fast.de - Chillen - PKRA 2010 Java MP3 Player - Wind Mate APP
|
Jörg V.
Rang: Android Gottheit
Beiträge: 4.348
Eintrittsdatum: 08.06.2009
Modell: Samsung Galaxy Note (N7000)
Firmware: 2.3.6
Mod: -
Kernel: 2.6.35.7-N7000XXKKA-CL726566
Build: Gingerbread.XXKKA
Provider: T-Mobile AT
|
RE: "Not trusted server certificate"
verfasst am 16.06.2010 18:54:02
Ich möchte an der Stelle nur mal darauf hinweisen, dass die Verwendung solcher Methoden wie Mac sie beschreibt nicht wirklich dazu angedacht sind, dem Kunden Sicherheit zu verkaufen. Hier wird eine sichere Verbindung vorgegaukelt, die jedoch in Wirklichkeit keiner Überprüfung unterliegt. Besser wäre es die den Kunden (Nutzer der App) Applikatorisch darauf hinzuweisen, dass dieses Zertifikat keine Trusted Certificate Chain enthält und man vorher bestätigen muss das man diesem Server vertrauen möchte. Noch einfacher wäre es natürlich ein vernünftiges SSL Zertifikat zu benutzen. Gibts mittlerweile glaub ich auch schon kostenlos für bestimmte private Anwendungsfälle.
-----
lg Voss - Ach ja und noch was, unsere AndroidPIT-Regeln ლ(╹◡╹ლ)
|
Bernd Sch
Rang: Android HiWi
Beiträge: 102
Eintrittsdatum: 09.11.2009
Modell: HTC Hero
Firmware: 2.2.1
Mod: CyanogenMod-6.1.0-Hero
Kernel: 2.6.29.6-flykernel-12pre1
Build: FRG83
Provider: bob
|
RE: "Not trusted server certificate"
verfasst am 16.06.2010 19:02:27 (über AndroidPIT-App)
Danke, die Problematik ist mir schon bewusst. Aber wenn ich eine Anwendung schreiben will, welche auf meinen privaten Server zugreift, brauche ich eine Möglichkeit ein "unsicheres" Zertifikat zuzulassen. Würde das über eine Einstellung "unsicheres Zertifikat zulassen" steuern.
Hätte wer einen Beispielcode, welcher zeigt wie man ein Rootzertifikat (z. B. CA Cert) importiert? Das wäre die zweite oder zusätzliche Möglichkeit.
|
Jörg V.
Rang: Android Gottheit
Beiträge: 4.348
Eintrittsdatum: 08.06.2009
Modell: Samsung Galaxy Note (N7000)
Firmware: 2.3.6
Mod: -
Kernel: 2.6.35.7-N7000XXKKA-CL726566
Build: Gingerbread.XXKKA
Provider: T-Mobile AT
|
RE: "Not trusted server certificate"
verfasst am 16.06.2010 19:29:50
Bspw. so .... keytool -import -file 'path to .cer' -trustcacerts -v -keystore 'path to keystore Bspw.: keytool -import -alias myroot -file eak.qss.wko.at.cer -trustcacerts -v -keystore cacerts Damit wird ein Zertifikat importiert, auch hier muß natürlich das Passwort des Keystores bekannt sein. Das Standardpasswort einer Javainstallation ist "changeit" Ein Root-Zertifikat (CA) brauchst Du eigentlich nicht importieren, da dieses bereits im cacerts enthalten sein sollte. Ansonsten kannst Du natürlich jedes Zertifikat so installieren. Auch Root Zertifikate.
-----
lg Voss - Ach ja und noch was, unsere AndroidPIT-Regeln ლ(╹◡╹ლ)
|
Gerrit Leder
Rang: Andryo
Beiträge: 4
Eintrittsdatum: 13.07.2010
Modell: Motorola Milestone / Droid
Firmware: 2.1
Mod:
Kernel: 2.6.29-omap1
Build: SHOLS_U2_02.34.0
Provider: O2
|
RE: "Not trusted server certificate"
verfasst am 13.07.2010 14:30:53
Jörg V. Bspw. so ....
keytool -import -file 'path to .cer' -trustcacerts -v -keystore 'path to keystore Bspw.: keytool -import -alias myroot -file eak.qss.wko.at.cer -trustcacerts -v -keystore cacerts Damit wird ein Zertifikat importiert, auch hier muß natürlich das Passwort des Keystores bekannt sein. Das Standardpasswort einer Javainstallation ist "changeit"
Ein Root-Zertifikat (CA) brauchst Du eigentlich nicht importieren, da dieses bereits im cacerts enthalten sein sollte. Ansonsten kannst Du natürlich jedes Zertifikat so installieren. Auch Root Zertifikate. Habe auch die Fehlermeldung im Subject. Ok für das importieren meines Webserver Zertifikates in cacerts. Aber die Fehlermeldung bleibt im Android Client. Daher meine Frage: hat der "Java unter Windows" cacerts einen Zusammenhang mit dem Android Client? Oder muss ich mein Webserver Zertifikat in einen speziellen "Android cacerts" importieren? Vielen Dank im voraus Gerrit
|
Bernd Sch
Rang: Android HiWi
Beiträge: 102
Eintrittsdatum: 09.11.2009
Modell: HTC Hero
Firmware: 2.2.1
Mod: CyanogenMod-6.1.0-Hero
Kernel: 2.6.29.6-flykernel-12pre1
Build: FRG83
Provider: bob
|
RE: "Not trusted server certificate"
verfasst am 13.07.2010 19:09:49
Ich habe irgendwie alles probiert. Die CAcert-Zertifikate importiert. Die Methode von Mac habe ich auch probiert. Habe es aber aktuell noch nicht geschafft das Problem zu lösen. Da mir aber momentan die Zeit fehlt, habe ich mich dann auch nicht weiter damit beschäftit :-(
|
Gerrit Leder
Rang: Andryo
Beiträge: 4
Eintrittsdatum: 13.07.2010
Modell: Motorola Milestone / Droid
Firmware: 2.1
Mod:
Kernel: 2.6.29-omap1
Build: SHOLS_U2_02.34.0
Provider: O2
|
RE: "Not trusted server certificate"
verfasst am 13.07.2010 19:30:33
Hallo Bernd, habe hier eine kurze Anleitung, wie das "root.crt" und analog das eigene Webserver Certifikat in den Android "cacerts.bks" importiert wird. http://wiki.cacert.org/ImportRootCert#Android_PhonesHabs aber noch nicht getestet...  Viele Grüße Gerrit
|
Bernd Sch
Rang: Android HiWi
Beiträge: 102
Eintrittsdatum: 09.11.2009
Modell: HTC Hero
Firmware: 2.2.1
Mod: CyanogenMod-6.1.0-Hero
Kernel: 2.6.29.6-flykernel-12pre1
Build: FRG83
Provider: bob
|
RE: "Not trusted server certificate"
verfasst am 13.07.2010 19:51:25
Gerrit Leder Den Wiki Beitrag kenne ich und ich habe das schon getestet! Ich habe auch auf die CAcert Mailingliste geschrieben und den Hinweis auf folgende Android-Bugs bekommen: http://code.google.com/p/android/issues/detail?id=8409http://code.google.com/p/android/issues/detail?id=8611
|
Gerrit Leder
Rang: Andryo
Beiträge: 4
Eintrittsdatum: 13.07.2010
Modell: Motorola Milestone / Droid
Firmware: 2.1
Mod:
Kernel: 2.6.29-omap1
Build: SHOLS_U2_02.34.0
Provider: O2
|
RE: "Not trusted server certificate"
verfasst am 14.07.2010 13:54:36
Bernd Sch An den Android-Bugs liegt es bei mir nicht, weil ich ja den Common Name (CN) bei einem self-signed Certificate selbst setzen kann. Aber bei meiner Anleitung (s. o.) zum Zertifikats Import bleibe ich hier stehen, weil ich kein root Zugriff auf mein Android Handy habe: 1# remount /system read-write 2$ adb shell remount -o remount,rw /system 3remount: permission denied 4$ adb root 5adbd cannot run as root in production builds
So bleibt nur noch der Emulator zum testen... melde mich, wenn es geklappt hat!
|
Jörg V.
Rang: Android Gottheit
Beiträge: 4.348
Eintrittsdatum: 08.06.2009
Modell: Samsung Galaxy Note (N7000)
Firmware: 2.3.6
Mod: -
Kernel: 2.6.35.7-N7000XXKKA-CL726566
Build: Gingerbread.XXKKA
Provider: T-Mobile AT
|
RE: "Not trusted server certificate"
verfasst am 14.07.2010 17:11:29
— geändert am 14.07.2010 17:19:31
Leider akzeptiert Android nur Zertifikate im PKCS12 format, (.p12) So lange Du das zu installierende Zertifikat also im pkcs12 format als .p12 als Endung vorliegen hast, kannst Du es auch direkt über die Handyfunktion: "Einstellungen - Standort und Sicherheit - Von SD-Karte installieren" ins Handy installieren, ganz ohne Root . Sollte theoretisch ab 2.1 funktionieren. Ich hab unter diesem Link: Secure Trusts schon mal ein wenig was dazu geschrieben, bin aber auch noch nicht so recht weitergekommen.
-----
lg Voss - Ach ja und noch was, unsere AndroidPIT-Regeln ლ(╹◡╹ლ)
|
Gerrit Leder
Rang: Andryo
Beiträge: 4
Eintrittsdatum: 13.07.2010
Modell: Motorola Milestone / Droid
Firmware: 2.1
Mod:
Kernel: 2.6.29-omap1
Build: SHOLS_U2_02.34.0
Provider: O2
|
RE: "Not trusted server certificate"
verfasst am 14.07.2010 17:56:39
Jörg V. Leider akzeptiert Android nur Zertifikate im PKCS12 format, (.p12) So lange Du das zu installierende Zertifikat also im pkcs12 format als .p12 als Endung vorliegen hast, kannst Du es auch direkt über die Handyfunktion: "Einstellungen - Standort und Sicherheit - Von SD-Karte installieren" ins Handy installieren, ganz ohne Root . Sollte theoretisch ab 2.1 funktionieren. Ich hab unter diesem Link: Secure Trusts schon mal ein wenig was dazu geschrieben, bin aber auch noch nicht so recht weitergekommen. Danke für den Link! Ob es an .p12 scheitern wird weiß ich noch nicht. Jetzt bekomme ich schon nicht die /sdcard gemountet um mit 1adb push apache.cer /sdcard/apache.p12
: "permission denied" zu umgehen. Habe auch "adb start-server" mit Administratorrechten versucht. "adb shell mount" zeigt kein gemountetes /sdcard an!!! Sorry kann kein copy & paste aus der DOS Box machen... Wie funktioniert das push/mount mit /sdcard?
|
Bernd Sch
Rang: Android HiWi
Beiträge: 102
Eintrittsdatum: 09.11.2009
Modell: HTC Hero
Firmware: 2.2.1
Mod: CyanogenMod-6.1.0-Hero
Kernel: 2.6.29.6-flykernel-12pre1
Build: FRG83
Provider: bob
|
RE: "Not trusted server certificate"
verfasst am 14.07.2010 18:06:58
Jörg V. Leider akzeptiert Android nur Zertifikate im PKCS12 format, (.p12) So lange Du das zu installierende Zertifikat also im pkcs12 format als .p12 als Endung vorliegen hast, kannst Du es auch direkt über die Handyfunktion: "Einstellungen - Standort und Sicherheit - Von SD-Karte installieren" ins Handy installieren, ganz ohne Root . Sollte theoretisch ab 2.1 funktionieren. Ich hab unter diesem Link: Secure Trusts schon mal ein wenig was dazu geschrieben, bin aber auch noch nicht so recht weitergekommen. Auch das habe ich schon probiert. Also die PEM-Zertifikate von CAcert (Class1 + Class3) in ein .p12 Format konvertiert und importiert. Hat leider auch nicht geholfen
|
Jörg V.
Rang: Android Gottheit
Beiträge: 4.348
Eintrittsdatum: 08.06.2009
Modell: Samsung Galaxy Note (N7000)
Firmware: 2.3.6
Mod: -
Kernel: 2.6.35.7-N7000XXKKA-CL726566
Build: Gingerbread.XXKKA
Provider: T-Mobile AT
|
RE: "Not trusted server certificate"
verfasst am 14.07.2010 18:43:55
Dann wird der /system/etc/security/cacerts.bks lediglich für W-Lan und VPN Zertifikat Austausch Verwendung finden ... So ein Mist ....
-----
lg Voss - Ach ja und noch was, unsere AndroidPIT-Regeln ლ(╹◡╹ლ)
|