-
iOS10에서 ATS에 바뀐점! SSL/TLS관련앱등이에게 살충제를 뿌린다./일기는 일기장에 2016. 9. 30. 11:04
<화질 왜이럼..>
iOS9발표와 함께 NSAppTransportSecurity라는 키가 생겼습니다.
iOS8까지 http 통신을 사용하던 커넥션이 iOS9에서는 먹통이 되었는데요, 바로 이 키 값에 대한 sub키들을 설정하면서 수정할 수 있었습니다.
http://rhammer.tistory.com/67 에서도 꼼수를 소개했었구요.
iOS10에서는 그럼 변동사항이 없느냐? 있습니다.
일부만 소개합니다.. 여기에 적은 변동사항 외에도 엄청 많습니다.
WKWebView 관련된 이슈가 좀 대표적일 것 같네요.
그냥 이해안되도 한번 읽어보시면 도움이 될 것 같네요. 저도 이해안되요...
iOS10에서는 NSAppTransportSecurity키에 아래의 서브키가 추가됩니다.
NSAllowsArbitraryLoadsInMediaNSAllowsArbitraryLoadsInWebContentNSRequiresCertificateTransparencyNSAllowsLocalNetworking
서브키가 추가 됩니다.
ATS Basic
The primary ATS keys are: iOS10에서 추가된 키는 빨간색으로 표시했어요
NSAllowsArbitraryLoadsYES로 설정되면 ATS 제한을 해제하게 됩니다. 그 결과,NSExceptionDomains에 등록한 도메인을 제외한 모든 도메인에 대해 http통신이 간으해집니다. 디폴트 값은NO입니다.NSAllowsArbitraryLoadsInMediaYES로 설정하면 AV Foundation framework를 사용한 미디어 로딩에 대한 ATS제한을 해제합니다. 안전한 HLS나 FairPlay로 보호되며 개인정보가 없는 파일같은, 이미 암호화된 미디어를 로딩하는 경우에 이 키를 사용하면 좋습니다. 디폴트 값은NO입니다.NSAllowsArbitraryLoadsInWebContentYES,로 설정하면 웹뷰에서 생성되는 커넥션에 대한 ATS 제한이 해제됩니다. 그 결과 앱에 내장된 브라우저가 ATS에 제한받지 않고 모든 컨텐트를 로드할 수 있게 됩니다. 디폴트 값은NO입니다.NSAllowsLocalNetworkingYES,로 설정하면 ATS에 제한받지 않고 로컬 리소스를 로딩할 수 있게 됩니다. 디폴트는NO입니다. (이거 쓸일이 있으려나??)NSExceptionDomainsOptionally include this dictionary to configure ATS for one or more named domains.
NSAppTransportSecurity의 서브키로 사용됩니다. 이 키에 입력한 도메인은NSAllowsArbitraryLoadskey값과 관계없이 ATS를 적용받게 됩니다. domain-name키의 서브키로 해당 도메인에 대한 ATS설정을 따로 지정할 수 있습니다.
좀 더 자세항 사항을 표로 살펴보도록 합니다.
출처 : https://developer.apple.com/library/prerelease/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html#//apple_ref/doc/uid/TP40009251-SW33
'앱등이에게 살충제를 뿌린다. > 일기는 일기장에' 카테고리의 다른 글
iOS10을 대응하며.. (2) 2016.10.07 [스크랩] iOS10에서 ATS 내맘대로 활용하기 (0) 2016.09.30 iOS10에서의 ATS.. 너무 힘들지만 TLS version을 건들여 보자.. (1) 2016.09.29 UIViewController의 toolbarItems가 셋팅이 안된다. (0) 2016.08.13 UIBarButtonItem을 만들어보자 (0) 2016.08.06