Ich versuche, ein Serverzertifikat in einer iOS-Anwendung zu validieren.
Die Delegate-Methode, mit der ich ein Problem habe, ist:
%Vor%Diese Methode wird aufgerufen, wenn ich einen Server wie " Ссылка " verwende.
Aber wenn ich es auf meinen Produktionsserver (Regierungs-CA) zeige, wird diese Methode einfach nicht aufgerufen.
Dieses Zertifikat kann, denke ich, als selbstsigniertes Zertifikat betrachtet werden, da Sie die Meldung "Diese Verbindung ist nicht vertrauenswürdig" in einem Browser erhalten, wenn Sie die Richtlinien nicht installiert haben.
Gibt es eine Möglichkeit, die willSendRequestForAuthenticationChallenge zu erzwingen und das selbstsignierte Zertifikat zu überprüfen?
Danke!
Die Frage wurde schon vor einer Weile gestellt, aber ich dachte, ich würde eine Antwort geben, damit die Leute kommen.
Wie ich verstehe, wird die Authentifizierungsanfrage nur einmal pro Host alle 10 Minuten aufgerufen. Das Ergebnis der Abfrage wird für die Leistung zwischengespeichert. Der Cache läuft in 10 Minuten ab. ( Ссылка )
Der gute Einblick wird hier von jblack gegeben, der den Hinweis auf Apple-Foren hat: Wie kann eine dauerhafte Verbindung mit NSURLConnection abgebrochen werden?
Als ich eine ähnliche Frage und ein Problem hatte, war die Sache, die mich stolperte, dass ich den gleichen Host für mehrere Operationen in der App verwendet hatte, also wurde die Abfrage an anderer Stelle akzeptiert, ist aber nicht abgelaufen, bevor meine NSURLConnection ausgelöst wurde Ich hatte nie die Herausforderung (hatte keine Notwendigkeit).
Versuchen Sie, den Host auf diese eine Anfrage zu isolieren, und dann sollten Sie den Rückruf erhalten.
Ich hoffe, es hilft.
Tags und Links objective-c iphone ios