-
iOS10에서 ATS에 바뀐점! SSL/TLS관련앱등이에게 살충제를 뿌린다./일기는 일기장에 2016. 9. 30. 11:04
<화질 왜이럼..>
iOS9발표와 함께 NSAppTransportSecurity라는 키가 생겼습니다.
iOS8까지 http 통신을 사용하던 커넥션이 iOS9에서는 먹통이 되었는데요, 바로 이 키 값에 대한 sub키들을 설정하면서 수정할 수 있었습니다.
http://rhammer.tistory.com/67 에서도 꼼수를 소개했었구요.
iOS10에서는 그럼 변동사항이 없느냐? 있습니다.
일부만 소개합니다.. 여기에 적은 변동사항 외에도 엄청 많습니다.
WKWebView 관련된 이슈가 좀 대표적일 것 같네요.
그냥 이해안되도 한번 읽어보시면 도움이 될 것 같네요. 저도 이해안되요...
iOS10에서는 NSAppTransportSecurity키에 아래의 서브키가 추가됩니다.
NSAllowsArbitraryLoadsInMedia
NSAllowsArbitraryLoadsInWebContent
NSRequiresCertificateTransparency
NSAllowsLocalNetworking
서브키가 추가 됩니다.
ATS Basic
The primary ATS keys are: iOS10에서 추가된 키는 빨간색으로 표시했어요
NSAllowsArbitraryLoads
YES
로 설정되면 ATS 제한을 해제하게 됩니다. 그 결과,NSExceptionDomains
에 등록한 도메인을 제외한 모든 도메인에 대해 http통신이 간으해집니다. 디폴트 값은NO
입니다.NSAllowsArbitraryLoadsInMedia
YES
로 설정하면 AV Foundation framework를 사용한 미디어 로딩에 대한 ATS제한을 해제합니다. 안전한 HLS나 FairPlay로 보호되며 개인정보가 없는 파일같은, 이미 암호화된 미디어를 로딩하는 경우에 이 키를 사용하면 좋습니다. 디폴트 값은NO
입니다.NSAllowsArbitraryLoadsInWebContent
YES
,로 설정하면 웹뷰에서 생성되는 커넥션에 대한 ATS 제한이 해제됩니다. 그 결과 앱에 내장된 브라우저가 ATS에 제한받지 않고 모든 컨텐트를 로드할 수 있게 됩니다. 디폴트 값은NO
입니다.NSAllowsLocalNetworking
YES
,로 설정하면 ATS에 제한받지 않고 로컬 리소스를 로딩할 수 있게 됩니다. 디폴트는NO
입니다. (이거 쓸일이 있으려나??)NSExceptionDomains
Optionally include this dictionary to configure ATS for one or more named domains.
NSAppTransportSecurity
의 서브키로 사용됩니다. 이 키에 입력한 도메인은NSAllowsArbitraryLoads
key값과 관계없이 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