2015-01-18 6 views
2

REST 백엔드가있는 IOS 응용 프로그램에 대해 자체 서명 된 SSL 인증서를 설정하려고합니다.자체 서명 된 AFNetwork

내 질문에 [securityPolicy setAllowInvalidCertificates : YES]를 사용해야합니다. 자체 서명 인증서를 사용할 때? 그리고 신뢰할 수있는 인증서는 없습니까?

정확한 메커니즘을 이해하지 못했지만 몇 시간 동안 SSL에 대해 읽었습니다. setAllowInvalidCertificates : YES로 작동하지만 그렇지 않은 경우 1012 오류가 발생합니다.

+0

어떻게 든 전화에 인증서를 설치할 때까지 [securityPolicy setAllowInvalidCertificates : NO]와 함께 자체 서명 된 인증서를 사용할 수없는 것 같습니다. 시뮬레이터에서 cer 파일을 드래그 앤 드롭하여 설치하면됩니다. 나는 내가 추측하는 애플의 신뢰할 수있는 CA와 함께 가야한다. – cdagli

답변

0

예, [securityPolicy setAllowInvalidCertificates : YES]를 설정해야합니다. 자체 서명 된 인증서를 사용할 때. 그리고 정확한; 신뢰할 수있는 인증서와 함께 NO를 사용해야합니다.

인증서 체인의 일부가 신뢰할 수 없기 때문에 NO로 설정하면 오류가 계속 발생할 가능성이 높습니다. SSL Detective라는 앱을 사용하여 전체 체인이 빨간색 (신뢰할 수없는) 구성 요소없이 신뢰되는지 확인하십시오. AFNetworking은 그것들을 좋아하지 않습니다.

0

내 질문에 [securityPolicy setAllowInvalidCertificates : YES]를 사용해야합니다. 자체 서명 인증서를 사용할 때? 그리고 신뢰할 수있는 인증서는 없습니까?

아니요! 이것은 man-in-the-middle 공격을 가능하게하기 때문에 SSL의 모든 목적을 무효화합니다. 더 나은 사용 public key pinning. AFNetwork로 이것을 수행하는 방법을 모르지만 링크 된 리소스에는 많은 환경을위한 코드가 있습니다.

+0

그 글은 다른 방법으로 주장합니다. 그러나 그것은 나에게도 안전하지 않은 것처럼 보였다. https://github.com/AFNetworking/AFNetworking/issues/1944 http://initwithfunk.com/blog/2014/03/12/afnetworking-ssl-pinning-with-self-signed-certificates/ – cdagli

+0

이 옵션의 이름이 잘못 지정되어있어 기본 제공 검사는 수행하지 않지만 다른 검사는 정의 할 수 있습니다. 다른 언어에서는 이러한 종류의 옵션이 일반적으로 모든 검사 (내장 및 사용자 정의 검사)를 비활성화합니다. 그러나 실제로는 끝에 핀 고정을 사용하는지 확인하십시오. 어떠한 경우에도이 옵션을 설정하고 더 이상 확인하지 않으려면 모든 인증서를 수락해야합니다. –

관련 문제