SSL Client Zertifikat Android

  • Antworten:6
Gelöschter Account
  • Forum-Beiträge: 9

05.08.2013, 19:50:40 via Website

Hallo!
Ich habe schon viel im Internet gesucht und auch nach Büchern ausschau gehalten.
Leider finde ich keinen guten Einstieg in das Thema.

Ich hab einen Webserivce (Vewende XML nativ ohne Zwischenschichten wie KSOAP2).

Nun soll der Server (Apache) Anfragen von einem Client ablehnen, wenn dieser das richtige Client-Zertifikat nicht vorweisen kann.

Bisher baue ich die Verbindung wie folgt auf(Vereinfacht):
1HttpClient client = new DefaultHttpClient();
2HttpPost request = new HttpPost();
3response = client.execute(request);
Das funktioniert auch wenn ich eine https url angebe wunderbar.
Nur möchte ich gerne nun auch ein Client-Zertifikat in die apk Datei integrieren damit der Server dann weiß: Ok, das ist meine App!

Hat jemand schon erfahrungen gesammelt und könnte mir ein Tip für ne brauchbare Anleitung geben?

Wäre sehr nett!

Grüße!

Antworten
Gelöschter Account
  • Forum-Beiträge: 9

06.08.2013, 19:25:48 via Website

Hi Markus,

Vielen Dank!
Leider verstehe ich den Thread nicht ganz.
Ich will doch nicht beliebige Zertifikate akzeptieren, oder?
Was ich will ist, mich am Server mit einem bestimmten authentfizieren.

Ich bekomme keine "Not trusted server certificate" Exception. Das kommunizieren mit dem Server funktioniert per https wunderbar.

Grüße

Antworten
Markus B.
  • Forum-Beiträge: 636

06.08.2013, 20:05:37 via Website

Hi,
darum geht es in dem Thread auch aber schau dir mal die dritte Antwort ( 216 votes ) an.
Dann schaust dir den Part mit
1public void checkClientTrusted
an. Das Zeug oben drüber gehört auch noch dazu.
Dort wird dann auf ein TrustManager zurückgegriffen, welchem ein zusätzlicher keystore übergeben ( weiter oben ). Das ist das das
Cert vom Client.
So verstehe ich die ganze Thematik.

Gruß,
Markus

Antworten
Gelöschter Account
  • Forum-Beiträge: 9

06.08.2013, 20:18:08 via Website

Ok, Entschuldigung. Soweit war ich nicht vorgedrungen.
Das könnte das sein, was ich Suche.
Ich werde es probieren.

Thx

Antworten
Markus B.
  • Forum-Beiträge: 636

06.08.2013, 20:30:02 via Website

Hi,
also wenn du Probleme hast melde dich und wenn es rennt bitte auch :)
Würde mich interessieren !

Gruß,
Markus

Antworten
Gelöschter Account
  • Forum-Beiträge: 9

15.08.2013, 16:20:07 via Website

Hallo!
Also ich habe das mit Client Zertifikat nun hinbekommen.
Leider kann ich keine links posten. Deswegen die URLs von Hand in den Browser kopieren.

Zuerst habe ich mich an folgende Anleitung gehalten, da ich zu Testzwecken erst mit einem selbst signiertem Server Zertifikat arbeiten wollte:
1hatetepe: blog.synyx.de/2010/06/android-and-self-signed-ssl-certificates/

Nachdem das lief war es ein leichtes das Client Zertifikat noch zu unterstützen:
1hatetepe: blog.chariotsolutions.com/2013/01/https-with-client-certificates-on.html

Geht aber auch bei signierten Zertifikaten ohne den Teil aus Link 1.

Und noch der Vollständigkeitshalber eine Anleitung wie man den Apache mit PHP dazu bekommt:
1hatetepe: www.phpgangsta.de/client-zertifikate-als-sicherer-login-ersatz


Ich hoffe es hilft auch noch jemand anderem bei gleichem Problem!

Grüße

Antworten