Jetzt registrieren » Login
« Login

Passwort vergessen?

Du bist hier: Android Forum » Android Developer Forum » Android Entwickler Forum » "Not trusted server certificate"
Gehe zu: Neue Beiträge | Eigene Threads | Beobachtete Threads

"Not trusted server certificate"

Um aktiv im Android Forum teilnehmen zu können, musst Du Dich bei AndroidPIT registriert haben.

User-Foto
Bernd Schde
Google Plus

Rang: Android HiWi

Beiträge: 102

Eintrittsdatum: 09.11.2009

"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
Antworten mit Zitat Antworten Link ±0     (0 Stimmen)
User-Foto
Mac Systemsde
Google Plus Twitter Facebook YouTube

Rang: Android GoldSenior

Beiträge: 1.007

Eintrittsdatum: 21.06.2009

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

Antworten mit Zitat Antworten Link ±0     (0 Stimmen)
User-Foto
Jörg V.de

Rang: Android Gottheit

Beiträge: 4.348

Eintrittsdatum: 08.06.2009

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 ლ(╹◡╹ლ)

Antworten mit Zitat Antworten Link ±0     (0 Stimmen)
User-Foto
Bernd Schde
Google Plus

Rang: Android HiWi

Beiträge: 102

Eintrittsdatum: 09.11.2009

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.
Antworten mit Zitat Antworten Link ±0     (0 Stimmen)
User-Foto
Jörg V.de

Rang: Android Gottheit

Beiträge: 4.348

Eintrittsdatum: 08.06.2009

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 ლ(╹◡╹ლ)

Antworten mit Zitat Antworten Link ±0     (0 Stimmen)
User-Foto
Gerrit Lederde

Rang: Andryo

Beiträge: 4

Eintrittsdatum: 13.07.2010

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
Antworten mit Zitat Antworten Link ±0     (0 Stimmen)
User-Foto
Bernd Schde
Google Plus

Rang: Android HiWi

Beiträge: 102

Eintrittsdatum: 09.11.2009

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 :-(
Antworten mit Zitat Antworten Link ±0     (0 Stimmen)
User-Foto
Gerrit Lederde

Rang: Andryo

Beiträge: 4

Eintrittsdatum: 13.07.2010

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. :D
http://wiki.cacert.org/ImportRootCert#Android_Phones

Habs aber noch nicht getestet... -_-

Viele Grüße
Gerrit
Antworten mit Zitat Antworten Link ±0     (0 Stimmen)
User-Foto
Bernd Schde
Google Plus

Rang: Android HiWi

Beiträge: 102

Eintrittsdatum: 09.11.2009

RE: "Not trusted server certificate"
verfasst am 13.07.2010 19:51:25
Gerrit Leder
Hallo Bernd,

habe hier eine kurze Anleitung, wie das "root.crt" und analog das eigene Webserver Certifikat in den Android "cacerts.bks" importiert wird. :D
http://wiki.cacert.org/ImportRootCert#Android_Phones

Habs aber noch nicht getestet... -_-

Viele Grüße
Gerrit

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=8409
http://code.google.com/p/android/issues/detail?id=8611
Antworten mit Zitat Antworten Link ±0     (0 Stimmen)
User-Foto
Gerrit Lederde

Rang: Andryo

Beiträge: 4

Eintrittsdatum: 13.07.2010

RE: "Not trusted server certificate"
verfasst am 14.07.2010 13:54:36
Bernd Sch
Gerrit Leder
Hallo Bernd,

habe hier eine kurze Anleitung, wie das "root.crt" und analog das eigene Webserver Certifikat in den Android "cacerts.bks" importiert wird. :D
http://wiki.cacert.org/ImportRootCert#Android_Phones

Habs aber noch nicht getestet... -_-

Viele Grüße
Gerrit

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=8409
http://code.google.com/p/android/issues/detail?id=8611

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!
Antworten mit Zitat Antworten Link ±0     (0 Stimmen)
User-Foto
Jörg V.de

Rang: Android Gottheit

Beiträge: 4.348

Eintrittsdatum: 08.06.2009

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 ლ(╹◡╹ლ)

Antworten mit Zitat Antworten Link ±0     (0 Stimmen)
User-Foto
Gerrit Lederde

Rang: Andryo

Beiträge: 4

Eintrittsdatum: 13.07.2010

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?
Antworten mit Zitat Antworten Link ±0     (0 Stimmen)
User-Foto
Bernd Schde
Google Plus

Rang: Android HiWi

Beiträge: 102

Eintrittsdatum: 09.11.2009

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
Antworten mit Zitat Antworten Link ±0     (0 Stimmen)
User-Foto
Jörg V.de

Rang: Android Gottheit

Beiträge: 4.348

Eintrittsdatum: 08.06.2009

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 ლ(╹◡╹ლ)

Antworten mit Zitat Antworten Link ±0     (0 Stimmen)
Du bist hier: Android Forum » Android Developer Forum » Android Entwickler Forum » "Not trusted server certificate"
Gehe zu: Neue Beiträge | Eigene Threads | Beobachtete Threads

AndroidPIT unterstützen

Gefällt Dir AndroidPIT? Wir freuen uns, wenn Du uns unterstützt. Wie das geht? Klicke einfach auf die unten stehenden Links.

Weiterempfehlen

Gefällt Dir AndroidPIT? Dann empfiehl uns bitte weiter!

Fragen / Hilfe

Du hast Fragen zu AndroidPIT oder willst noch mehr erfahren? Diese Links helfen Dir vielleicht weiter...

  Du liest gerade: "Not trusted server certificate" - Android Forum - AndroidPIT. Alle Zeitangaben in UTC+02:00. Es ist jetzt 11:17 Uhr.