iOS9 obtenir l'erreur "une erreur ssl s'est produite et une connexion sécurisée au serveur ne peut pas être faite"


Answers

Même si l'autorisation de chargements arbitraires ( NSAllowsArbitraryLoads = true ) est une bonne solution de contournement, vous ne devez pas désactiver entièrement ATS, mais activer la connexion HTTP que vous souhaitez autoriser:

<key>NSAppTransportSecurity</key>
<dict>
  <key>NSExceptionDomains</key>
  <dict>
    <key>yourserver.com</key>
    <dict>
      <!--Include to allow subdomains-->
      <key>NSIncludesSubdomains</key>
      <true/>
      <!--Include to allow HTTP requests-->
      <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
      <true/>
      <!--Include to specify minimum TLS version-->
      <key>NSTemporaryExceptionMinimumTLSVersion</key>
      <string>TLSv1.1</string>
    </dict>
  </dict>
</dict>
Question

Depuis que j'ai mis à jour mon projet existant avec iOS 9, je continue à recevoir l'erreur:

Une erreur SSL s'est produite et une connexion sécurisée au serveur ne peut pas être établie.




Si vous ne faites que cibler des domaines spécifiques, vous pouvez essayer de l'ajouter dans Info.plist de votre application:

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSExceptionDomains</key>
    <dict>
        <key>example.com</key>
        <dict>
            <key>NSExceptionRequiresForwardSecrecy</key>
            <false/>
            <key>NSIncludesSubdomains</key>
            <true/>
        </dict>
    </dict>
</dict>



Le problème est le certificat ssl côté serveur. Soit quelque chose interfère, soit le certificat ne correspond pas au service. Par exemple quand un site a un certificat SSL pour www.mondomaine.com alors que le service que vous utilisez fonctionne sur myservice.mondomaine.com. C'est une machine différente.




Projet Xcode -> goto info.plist et cliquez sur le bouton + puis sur Ajouter (Paramètres de sécurité du transport de l'application). Développer, Autoriser les charges arbitraires Définir YES. Merci




Links