2016-08-22 1 views
2

Étant donné que mon domaine n'a pas de certificat SSL, j'utilise NSExceptionDomains pour permettre le chargement du domaine de toute façon.NSAppTransportSecurity pour l'exception de 2 domaines

J'utilise le code suivant dans le Info.plist pour permettre à la fois le domaine et il est sous-domaines

<key>NSAppTransportSecurity</key> 
    <dict> 
     <key>NSExceptionDomains</key> 
     <dict> 
      <key>infever.com</key> 
      <dict> 
       <key>NSIncludesSubdomains</key> 
       <true/> 
       <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key> 
       <true/> 
      </dict> 
     </dict> 
    </dict> 

Cependant, je voudrais passer à travers 2 domaines cette fois depuis certaines parties de l'application est de un domaine différent.

J'ai essayé simplement d'ajouter une autre clé comme celui-ci:

<key>NSAppTransportSecurity</key> 
<dict> 
    <key>NSExceptionDomains</key> 
    <dict> 
     <key>infever.com</key> 
     <key>gentsgroup.com</key> 
     <dict> 
      <key>NSIncludesSubdomains</key> 
      <true/> 
      <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key> 
      <true/> 
     </dict> 
    </dict> 
</dict> 

Mais cela ne fonctionne pas. Quelle serait la bonne façon de le faire?

Répondre

1
<dict> 
    <key>yourFirstDomain.com</key> 
    <dict> 
     <key>NSExceptionAllowsInsecureHTTPLoads</key> 
     <true/> 
     <key>NSExceptionMinimumTLSVersion</key> 
     <string>TLSv1.2</string> 
     <key>NSExceptionRequiresForwardSecrecy</key> 
     <true/> 
     <key>NSIncludesSubdomains</key> 
     <true/> 
     <key>NSRequiresCertificateTransparency</key> 
     <false/> 
     <key>NSThirdPartyExceptionAllowsInsecureHTTPLoads</key> 
     <false/> 
     <key>NSThirdPartyExceptionMinimumTLSVersion</key> 
     <string>TLSv1.2</string> 
     <key>NSThirdPartyExceptionRequiresForwardSecrecy</key> 
     <true/> 
    </dict> 
    <key>yourSecondDomain.com</key> 
    <dict> 
     <key>NSExceptionAllowsInsecureHTTPLoads</key> 
     <true/> 
     <key>NSExceptionMinimumTLSVersion</key> 
     <string>TLSv1.2</string> 
     <key>NSExceptionRequiresForwardSecrecy</key> 
     <true/> 
     <key>NSIncludesSubdomains</key> 
     <true/> 
     <key>NSRequiresCertificateTransparency</key> 
     <false/> 
     <key>NSThirdPartyExceptionAllowsInsecureHTTPLoads</key> 
     <false/> 
     <key>NSThirdPartyExceptionMinimumTLSVersion</key> 
     <string>TLSv1.2</string> 
     <key>NSThirdPartyExceptionRequiresForwardSecrecy</key> 
     <true/> 
    </dict> 
</dict> 

il suffit de copier ce dictionnaire sous votre NSAppTransportSecurity et remplacer yourFirstDomain.com avec vous premier domaine et yourSecondDomain.com avec votre second domaine

0

essayer. C'est pour les exceptions par domaine seulement si les séparer peut fonctionner. Sinon, vous pouvez désactiver complètement ATS (voir le 2e set de code)

Mutiple Domaines (Dict de Separate)

<key>NSAppTransportSecurity</key> 
<dict> 
    <key>NSExceptionDomains</key> 
    <dict> 
     <key>infever.com</key> 
     <dict> 
      <key>NSIncludesSubdomains</key> 
      <true/> 
      <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key> 
      <true/> 
     </dict> 
    </dict> 
    <dict> 
     <key>gentsgroup.com</key> 
     <dict> 
      <key>NSIncludesSubdomains</key> 
      <true/> 
      <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key> 
      <true/> 
     </dict> 
    </dict> 
</dict> 

Désactiver ATS complètement

<key>NSAppTransportSecurity</key> 
<dict> 
    <!--Include to allow all connections (DANGER)--> 
    <key>NSAllowsArbitraryLoads</key> 
     <true/> 
</dict>