SORU
9 HAZİRAN 2015, Salı


Nasıl Uygulama Taşıma Güvenliği iOS 9 ile etkin bir HTTP URL yük?

Yani, iOS, dün gece yayınlanan yeni beta SDK" hangi geliştiriciler http yerine https kullanmak için teşvik eder. Güvenlik "Uygulaması Ulaştırma. Prensip olarak, bu harika bir fikir, ve ben zaten hazırlama/üretim ortamlarında https kullanın. Ancak, https iOS uygulaması bilgisayarımda koşuyorum web servisine bağlanırken, yerel geliştirme ortamı kurmak zorunda değilim.

Bu sabah oynarken biraz, URL yükleme sistem bunu bir http URL, https yerine kullanmaya karar el bile olur, öyle görünüyor. Herkes bu davranışı devre dışı bırakmak için nasıl bilmek bile, sadece belirli bir URL için mi?

CEVAP
9 HAZİRAN 2015, Salı


Elma App Transport Security Technote tüm detaylar için (@gnasher729 teşekkürler).

Bilgi belirli bir etki alanı için özel durumlar ekleyebilirsiniz.plist:

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSExceptionDomains</key>
    <dict>
        <key>testdomain.com</key>
        <dict>
            <key>NSIncludesSubdomains</key>
            <false/>
            <key>NSExceptionAllowsInsecureHTTPLoads</key>
            <false/>
            <key>NSExceptionRequiresForwardSecrecy</key>
            <true/>
            <key>NSExceptionMinimumTLSVersion</key>
            <string>TLSv1.2</string>
            <key>NSThirdPartyExceptionAllowsInsecureHTTPLoads</key>
            <false/>
            <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
            <true/>
            <key>NSThirdPartyExceptionMinimumTLSVersion</key>
            <string>TLSv1.2</string>
            <key>NSRequiresCertificateTransparency</key>
            <false/>
        </dict>
    </dict>
</dict>

Hariç her etki alanı için tüm tuşları isteğe bağlıdır. Hoparlör tuşu herhangi bir ayrıntı vermedi, ama oldukça açık sanırım hepsi.

(Kaynak: **5, :18 30)

Ayrıca eğer uygulama bunu yapmak için iyi bir neden varsa, tek bir anahtar ile tüm app ulaştırma güvenlik kısıtlamaları göz ardı edilebilir.:

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>

Eğer uygulama iyi bir nedeni var mı yoksa ret riski:

True NSAllowsArbitraryLoads ayarı çalışmasına izin verir, ama Apple belirli bir nedeni olmadan bu bayrağı kullanan uygulamaları reddetmek istedikleri çok açıktı. Aklıma NSAllowsArbitraryLoads kullanmak için ana nedeni kullanıcı tarafından oluşturulan içerik (link paylaşımı, özel bir web tarayıcı, vb) olacaktır. Ve bu durumda, Apple hala sizin kontrolünüz altındadır Urller için ATS zorlayan istisnalar vardır bekliyor.

Eğer belirli bir URL için erişim ihtiyacınız yoksa 1.2, bu alanlar için özel istisnalar yazmak, NSAllowsArbitraryLoads Evet olarak kullanmak gerekir TLS servis edilmez. NSURLSesssion WWDC oturumda daha fazla bilgi bulabilirsiniz.

NSAllowsArbitraryLoads çözüm paylaşımı dikkatli olun lütfen. Apple tarafından önerilen düzeltme değil.

kcharwood (teşekkürler @-tolman marco)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • KIT KAT

    KIT KAT

    3 EKİM 2005
  • SalGames2016

    SalGames2016

    17 Kasım 2012
  • TheRightTire

    TheRightTire

    14 EKİM 2009