2012-09-27 11 views
6

Wir entwickeln derzeit eine mobile App mit Cordova/PhoneGap (neueste Version) für Android und iOS. Einer der Hauptaspekte unserer App ist, dass sie Daten von verschiedenen Remote-Quellen abruft (von denen eine ein ungültiges SSL-Zertifikat hat). Nachdem wir sichergestellt haben, dass alle .plist-Einstellungen korrekt eingestellt sind (für die Domain-Whitelist), funktioniert unsere App weder unter iOS 5 noch 6. In der Konsole in XCode oder Safari werden keine Fehler angezeigt. Die Android-App funktioniert gut und funktioniert auch lokal in Webbrowsern. Also, paar Fragen:Cordova/PhoneGap iOS HTTPS/SSL Probleme

Gibt es eine .plist Einstellung zum Ignorieren ungültiger SSL-Zertifikate in iOS? Ich habe Code im UIWebView gesehen, aber wir sind uns nicht sicher, ob wir diesen Code ändern und die App anderswo kaputt machen könnten.

Antwort

6

** bearbeiten 3/13/14 **

Der empfohlene Ansatz ist Ihre CA in Ihrem Gerät zu installieren: Ihre CA an Ihr Gerät eine E-Mail, tippen Sie auf die CA-Datei in der E-Mail und Import es in Ihren sicheren Speicherbereich. Dadurch kann Ihr Gerät der nicht signierten https-Verbindung vertrauen, ohne dass die unten aufgeführten Codezeilen benötigt werden.

Beachten Sie, dass, während die folgende Lösung funktioniert, es unsicher ist und nicht empfohlen wird. Sie müssen diese Codezeilen entfernen, bevor Sie eine Produktionsversion der App freigeben. Wenn Sie dies nicht tun, wird die Anwendung unsicher. Diese Lösung wird nicht empfohlen, da Personen vergessen haben, dies zu entfernen.

** Ursprüngliche Antwort **

Es gibt keine cordova plist Einstellung für diese. Um dies in iOS zu umgehen, fügen Sie den folgenden Code an das Ende Ihrer AppDelegate.m-Datei an.

Ich habe dieses in mehreren Projekten in der Vergangenheit verwendet und habe keine nachteiligen Nebenwirkungen gesehen.

Die Datei AppDelegate.m befindet sich im gelb gefärbten Ordner mit dem Titel Klassen in Ihrem Xcode-Projekt.

+0

Ich schlage vor, Sie bearbeiten Ihre Antwort, um den letzten Teil an die Spitze zu bringen! Dies ist die beste Lösung: _ "mailen Sie Ihre CA an Ihr Gerät, tippen Sie auf die CA-Datei in der E-Mail und importieren Sie sie in Ihren sicheren Speicherbereich" _. Ich habe es jedoch nicht per E-Mail geschickt, ich habe es von meinem Dev-Rechner über http heruntergeladen. – pauloya

+0

@PauloManuelSantos erledigt – njtman

+0

Was ist mit dem Hinzufügen einer benutzerdefinierten plist-Einstellung basierend auf Ihrer Build/Zielkonfiguration, um Ja/Nein zurückgeben? Auf diese Weise müssen Sie sich nicht daran erinnern, den Code zu entfernen, wenn Sie bereit sind, ihn zu veröffentlichen ... – ganders

Verwandte Themen