So verwenden Sie das selbstsignierte Zertifikat in der iOS App

9

Grundsätzlich muss unsere iOS-App mit einem Server kommunizieren, der vorläufig ein selbstsigniertes Zertifikat besitzt. In meiner App schlägt https mit einem nicht vertrauenswürdigen Serverzertifikat fehl, was verständlich ist. Der Fehler ist wie folgt:

  

Fehlerdomäne = NSURLErrorDomain Code = -1202 "Das Zertifikat für diesen Server ist ungültig. Möglicherweise stellen Sie eine Verbindung mit einem Server her, der vorgibt," mein Hostname hier "zu sein, was Ihre vertraulichen Informationen gefährden könnte."

Also habe ich das selbstsignierte Zertifikat per E-Mail an das iOS-Gerät gesendet und in die Profile importiert. Ich hoffe, dass es als Teil der root-CA für die https-Authentifizierung verwendet wird. Zu meiner Überraschung ist es nicht und ich bekomme immer noch den gleichen Fehler. Ich denke, dass iOS standardmäßig Stammzertifizierungsstellen am Schlüsselbund verwenden würde, um das Serverzertifikat zu überprüfen, und von dem, was ich lese, ist das importierte Zertifikat bei Profilen auch Schlüsselbund. Daher konnte ich nicht verstehen, warum mein importiertes selbstsigniertes Zertifikat nicht als Stammzertifizierungsstelle verwendet wird.

An diesem Punkt möchte ich diesem selbstsignierten Zertifikat nicht wirklich über die Codierung wie folgt vertrauen iOS authentifiziert HTTPS mit selbstsigniertem Zertifikat oder Wie kann ich in iOS eine Verbindung zu einem Server herstellen, der HTTPS mit selbstsigniertem Zertifikat auf dem Server verwendet? , da dies gewonnen hat Sie arbeiten nicht in Kundenfällen, in denen sie unseren Server in ihrem Netzwerk installieren und sie könnten ihr eigenes selbstsigniertes Zertifikat erstellen.

Irgendwie habe ich nicht wirklich viel Information von der Suche bekommen. Könnte jemand hier ein paar Lichter werfen und was ich tun muss, um das zu debuggen? Vielen Dank.

Update am 15. Juli:

Weitere Updates dazu. Ich habe auch versucht, ein Konfigurationsprofil zu verwenden, um eine selbstsignierte Zertifizierungsstelle zur Stammzertifizierungsstelle auf dem iOS-Gerät hinzuzufügen, indem ich Hinzufügen von vertrauenswürdigen Stammzertifizierungsstellen zu iOS , von meinen Tests auf 6.0 iPad und iPhone funktioniert es nicht so gut. Also nicht sicher, ob das nur bei kaputten Geräten funktioniert oder nicht. Letzten Endes erlaube ich dem Benutzer, ein selbstsigniertes Zertifikat in die App zu importieren. Die App würde ein solches importiertes Zertifikat für die Zertifikatsprüfung ähnlich wie dieses laden Wie stelle ich in iOS eine Verbindung zu einem Server mithilfe von https mit selbstsigniertem Zertifikat auf dem Server her? . Hoffe, dass es anderen in diesem Fall helfen würde.

    
windfly2006 30.06.2013, 18:25
quelle

1 Antwort

2

Wenn Sie sich das erste Tutorial anschauen, das Sie verlinkt haben, sollten Sie dieses oder ein etwas fortgeschritteneres Formular verwenden können. Sobald Sie es getestet haben, müssen Sie alles tun, damit ein Client ein eigenes Zertifikat erstellen und hinzufügen kann wäre es, die Datei localhost.cer im apps-Ordner zu überschreiben / zu ersetzen, in dem sich die Datei localhost.cer oder das von Ihnen verwendete Namensschema befindet. Es gibt viele Möglichkeiten, dies zu tun, aber man könnte der App einen Link geben, über den das Zertifikat online heruntergeladen und einmal heruntergeladen und dann ersetzt werden kann.

Bei Fragen werde ich versuchen, weiter zu helfen, aber ich hoffe, dies hilft Ihnen in die richtige Richtung.

    
rezand 15.07.2013 19:39
quelle

Tags und Links