So implementieren Sie Client-Zertifikate und Server-Authentifizierung für iOS

Ich habe kürzlich einen äußerst mühsamen Prozess durchlaufen, um etwas zu bauen, das sehr einfach sein sollte, aber an keinem Ort im Wesentlichen auffindbar zu sein scheint. Ich möchte versuchen, alles hierher zu bringen, um zu fragen, ob ich etwas falsch mache, und wenn nicht, um allen zu helfen, die diese Informationen benötigen.

Background: Das Produkt / der Dienst, für das bzw. den ich Sicherheit bieten wollte, basiert auf WCF-Diensten auf einem Windows-Server, auf die nur über benutzerdefinierte Client-Apps auf einem PC oder einem iPad zugegriffen werden kann. Ein Server pro Kunde, kein Browserzugriff. Alles war bereits TLS-gesichert mit Authentifizierung und Autorisierung unter Verwendung von Windows-Standardmechanismen und Zertifikaten einer kommerziellen Zertifizierungsstelle.

Um den Zugriff weiter einzuschränken, wurden Client / Server-Zertifikate für die Windows-Plattform mit selbstsignierten Zertifikaten implementiert (kommerzielle Zertifizierungsstellen sind nicht erforderlich, wenn - trotz gegenteiliger Behauptungen - eine gegenseitige Authentifizierung ohne öffentlichen / Browser-Zugriff vorliegt) schwerer zu handhaben).

Das alles für das iPad zum Laufen zu bringen, war ein schrecklich dokumentierter Albtraum mit einer erstaunlichen Menge an Desinformationen oder teilweise korrekten Empfehlungen. Im Folgenden habe ich versucht, auf die besten Quellen zu verweisen, aber ich entschuldige mich, wenn ich versehentlich eine Zuschreibung verpasst habe. Bitte kommentieren Sie, wenn etwas falsch / irreführend an diesem Beitrag ist.

Vielen Dan

Antworten auf die Frage(4)

Ihre Antwort auf die Frage