Android & SNI ist ja so eine Sache – und damit Hallo Leser,
zunächst mal eine Erklärung, worüber ich berichten möchte.
Jeder der bereits einen Web Application Proxy in Verbindung mit Exchange Server aufgesetzt hat, kennt das Problem: Exchange Active Sync auf dem iPhone / Windows Phone / BlackBerry funktioniert, jedoch auf einem Android-Telefon nicht.
Das ist der zugrunde liegenden Architektur der WAP-ADFS Rolle geschuldet, die auf der „http.sys“ aufbaut. SNI steht für „Server Name Indication“. Der Client senden also beim Verbindungsaufbau via SSL / TLS den Servernamen, mit dem dieser ansprechen möchte, um so zum korrekten Zielsystem weitergeleitet zu werden. Kann nun ein Client diese Anforderung beim Verbindungsaufbau zum WAP-Server nicht übergeben, so kann dieser auch nicht erkennen, zu welchem Zielsystem im Backend der Client möchte.
Beim WAP-Server ist für jeden Endpunkt ein Zertifikat hinterlegt, welches namensmäßig zur veröffentlichten Applikation gehört. Eine generelle Anfrage wird somit „verworfen“ –> folglich kein Exchange Active Sync für den Host „https://mail.sichel-it.de/Microsoft-Server-ActiveSync“, da Android das Ziel nicht an WAP übergeben kann.
Es gibt jedoch eine Lösung – klar, sonst gäbe es auch keinen Post ;)
Web Application Proxy Fallback Certificate
Um Clients ohne SNI Support den Zugang zu veröffentlichten Applikationen zu ermöglichen, benötigt es ein sogenanntes „Fallback Certificate“. Dieses Zertifikat sollte folgende Eigenschaften mit sich bringen:
Schritt 1 – Zertifikat ausfindig machen
Voraussetzung ist ein passendes Zertifikat, ich benutze mein Standard-SAN Zertifikat – Flexibilität benötige ich gerade nicht ;)
- Am WAP-Server anmelden
- PowerShell oder CMD öffnen
- Zertifikat Fingerabdruck ermitteln mit (Bild 1):
dir cert:localmachine\my
- Fingerabdruck in die Zwischenablage kopieren
Schritt 2- Zertifikatsbindung erstellen
Nachdem ich nun mein passendes Zertifikat ausfindig gemacht habe, kann ich es mit einem kleinen Befehl an den WAP-Server binden.
- CMD öffnen
- Befehl eingeben (Bild 2):
netsh http add sslcert ipport=0.0.0.0:443 certhash=FDB348602631A3F64F219FF2F40D2A93D934D38E appid={f955c070-e044-456c-ac00-e9e4275b3f04}
- Wiederholen auf allen ADFS / WAP-Servern mit den jeweils passenden APP IDs!
- Server neu starten!
- Fertig!
{5d89a20c-beab-4389-9447-324788eb944a} – AD FS App ID
{f955c070-e044-456c-ac00-e9e4275b3f04} – Web Application Proxy App ID
Aufmerksame Leser wissen: DirectAccess ist ebenfalls auf dem WAP-Server installiert und nutzt die http.sys. Folglich existiert bereits eine Bindung auf 0.0.0.0:443! In meinem Test zu dem Post hat es ausgereicht, die Zertifikatsbindung auf dem ADFS zu setzen, sofern das DA-Zertifikat ein Wildcard gewesen ist!
Schritt 3 – Testen
Nachdem nun erfolgreich alle Einstellungen getätigt sind, kann das E-Mail-Postfach am Android-Telefon eingerichtet werden –>geht!
Android & SNI über Web Application Proxy – kein Problem dank Fallback Certificate :)
LG Andi
Hinterlasse einen Kommentar