Apple 측에서 앱 자체의 보안성을 위해 ATS(App Trasport Secuirty)라는 정책을 통해 기본적으로 https 통신을 하도록 유도하기 때문에 http 서버로 테스트하기 위해선 Info.plist에서 ATS 부분을 추가해주어야 한다.
1. Info.plist 파일을 열고 App Transport Security Settings 항목을 추가한다.
2. App Transport Security Settings 하위에 Exception Domains을 추가한다.
3. Exception Domains 하위에 도메인을 설정한다. 도메인 설정 시 맨 앞의 www. 또는 서브 도메인은 제외한다.
4. 도메인 별 설정에 사용할 수 있는 키를 추가한다.
NSExceptionAllowsInsecureHTTPLoads
해당 도메인에 대해 HTTP 접속을 허용할 지 여부를 결정한다. YES로 설정하면 입력된 도메인에 대한 HTTP 통신이 허용된다.
NSIncludesSubdomains
도메인의 서브 도메인까지 설정에 포함할 것인지를 결정한다. YES로 설정하면 입력된 도메인의 ATS 구성이 서브 도메인에도 적용된다. 기본값은 NO
NSExceptionRequiresForwardSecrecy
이 값을 NO로 설정하면 입력된 도메인에 대해 PFS(perfect forword secrecy)라는 비밀키 암호화를 적용하지 않은 상태에서 TLS 보안 암호를 사용할 수 있다. 기본값은 YES
NSExceptionMinimumTLSVersion
입력된 도메인의 네트워크 연결을 위한 TLS 보안 최소 버전을 지정할 수 있다. 다음 값 중 하나를 선택하거나 생략 가능하다.
TLSv1.0
TLSv1.1
TLSv1.2(생략할 경우 기본값)
NSRequiresCertificateTransparency
YES로 설정하면 입력된 도메인의 서버 인증서에 대해 유효하고 서명된 타임 스탬프를 요구한다. 기본값은 NO
참고 :
꼼꼼한 재은씨의 Swift 실전편
https://www.hahwul.com/2019/03/11/ios-app-http-app-trasport-security/
'iOS' 카테고리의 다른 글
키 체인(Key Chain) (0) | 2021.12.10 |
---|---|
동기(Synchorous)와 비동기(Asychorous) (0) | 2021.11.22 |
코코아팟(CocoaPods)으로 라이브러리 설치하기 (0) | 2021.11.22 |
이미지를 코어 데이터에 저장할 때 주의할 점 (0) | 2021.11.19 |
브릿징 헤더 파일 (0) | 2021.09.01 |