An meinem regulärem Arbeitsplatz haben wir zwei verschiedene WLAN Netze. Einmal eines für Gäste welches mit WPA2 und einem Key verschlüsselt wird und ein zweites Enterprise WLAN welches auch mit WPA2 verschlüsselt wird, aber zu Authentifizierung einen RADIUS-Server benutzt.
Vor kurzem hab ich mir ein Android Tablet zugelegt(Archos 101). Da mir aber das Guest WLAN für das Tablet nicht ausreicht war ich gezwungen ein Zertifikat in das Tablet zu importieren.
Ich habe ich schon diverse mobile Geräte gehabt und es gab _immer_ irgendwelche Probleme mit irgendwelchen Zertifikaten, so auch diesmal. Aber ich fange von vorne an.
Als erstes habe ich mir mein Authentifizierungszertifikat exportiert. Das funktioniert unter Windows 7 ganz einfach. Dazu öffnete ich einfach die Management Console (MMC.exe) und fügte mir das SnapIn Zertifikate hinzu.
Das Zertifikat habe hab ich mit meinem public Key exportiert. Zum Schluß hatte ich ein .pfx Zertifikat. Nun schnappte ich mir also mein Android Tablet und suchte nach einer Möglichkeit Zertifikate zu installieren.
Diese Möglichkeit war auch schnell gefunden. Unter dem Menüpunkt Standort & Sicherheit gibt es einen Unterpunkt Anmeldeinformationsspeicher. Dort gab es wieder rum einen Auswahlpunkt Von SD-Karte installieren. Hm, ok. Also habe ich das Zertifikat in das Root meiner SD gelegt und versucht es so zu installieren. Das Tablet sagte dann aber “Ne alter, da ist gar kein Zertifikat”
Hm ok, was jetzt? Bei meinem Nokiahandy war es ähnlich, man konnte Zertifikate nur “per Browser” installieren. Ein Versuch ist es wert dachte ich mir. Also hab ich das Zertifikat auf meine Dropbox geladen und bin mit dem Browser auf den Link gesurft. Bäm, funktioniert. Ich werde nach dem Passwort gefragt – eingegeben und zack – Passwort falsch. Nochmal eingegeben – Passwort falsch. Häää?
[spoiler]
Ok, vielleicht hab ich beim Zertifikatexport ein Fehler bei der Passworteingabe gemacht, also wiederholte ich die Exportprozedur, lad das Zertifikat wieder auf die Dropbox, surfte wieder auf den Link und gab das Passwort erneut ein. Bäm – Passwort falsch? wtf? Was jetzt? – googlen.
Nach rund 15 Minuten fand ich einen Thread bei google.com in der genau dieses Problem beschrieben wird. Dort wird behauptet das Android Pre Froyo, also >2.2, chained .p12 Zertifikate nicht unterstützt. Ich hab zwar 2.2.1, also Froyo, nahm mir aber trotzdem diesen Artikel zu Herzen. Da .pfx auch PKCS#12(.p12) ist hab ich die Datei einfach mal umbennant und mir eben noch OpenSSL runtergeladen.
Dann habe diese Anleitung Schritt für Schritt befolgt.
1. openssl pkcs12 -in <chained>.p12 -out tempcert.pem -nodes
2. Edit the tempcert.pem file and delete everything except the private key and the first certificate.
3. openssl pkcs12 -export -out <unchained>.p12 -in tempcert.pem
4. Enter a password that you will use when importing the certificate in your Android phone.
5. Copy the <unchained>.p12 to the root of your SD-card.
6. Import it and win.Regarding step 2:
Your tempcert.pem file will contain different sections, so after you deletet two sections will remain:
<maybe some bag attributes – can keep those>
—–BEGIN RSA PRIVATE KEY—–
<private key – do not delete>
—–END RSA PRIVATE KEY—–
<maybe some bag attributes – can keep those>
—–BEGIN CERTIFICATE—–
<first certificate for the private key – do not delete>
—–END CERTIFICATE—–
<delete everything from here>
Es scheiterte wieder am Importieren über die SD-Karte. Also wieder rauf auf die Dropbox und per Browser den Link aufgerufen. Bäm, diesmal hat das Passwort funktioniert und ich konnte mich endlich am RADIUS Server authentifizieren. pwning
[/spoiler]