Funktionierende SSL-Infrastruktur:
Wir haben ein funktionierendes Client / Server-Setup, bei dem Telefone mit den Android-Versionen 4.2 und 4.4 als Clients fungieren, die einen Server durch sein selbstsigniertes SSL-Zertifikat verifizieren müssen.
Das Problem:
Die Überprüfung des Serverzertifikats funktioniert so lange, wie die Geräte mindestens einmal einen Internetzugang hatten, bevor sie versuchen, eine Verbindung herzustellen. Wenn jedoch ein Zurücksetzen auf die Werkseinstellungen durchgeführt wird und die Geräte direkt mit einem privaten Netzwerk ohne Internetverbindung verbunden sind, schlägt die Zertifikatsprüfung fehl.
Um das Verhalten zu reproduzieren:
Technisch gesehen sollten die Geräte keinen Internetzugang benötigen, um das selbstsignierte Zertifikat zu überprüfen. Könnte es eine Art Blacklist geben, die einmal geladen werden muss, bevor eine SSL-Server-Verifizierung stattfinden kann? Und kann ich dieses Verhalten verhindern?
Erstellen des SSL-Kontexts:
%Vor%Fehler mit der Ausnahme in startHandshake:
%Vor%Stellen Sie sicher, dass die Uhrzeit auf dem Gerät korrekt ist, dass Zertifikate eine Gültigkeitsdauer haben und nicht validiert werden, wenn das Datum auf die Vergangenheit (in der Regel 1. Januar 2000 nach einem Zurücksetzen auf die Werkseinstellungen) oder auf die Zukunft eingestellt wird. Das Gerät wird automatisch über NTP synchronisiert, aber das funktioniert natürlich nicht, wenn keine nutzbare Internetverbindung besteht.
Tags und Links android ssl https certificate self-signed