NSURLRequest을 사용하여 만료 된 인증서가있는 웹 사이트에 액세스하려고합니다. 내가 요청을 보낼 때, 내 연결 : didFailWithError 위임 방법은 다음과 같은 정보를 호출 :Objective-C/Cocoa : 잘못된 서버 인증서를 어떻게 받아들입니까?
-1203, NSURLErrorDomain, bad server certificate
내 검색 해결책은 단 하나 켜져있다 : NSURLRequest에 숨겨진 클래스 메소드 :
[NSURLRequest setAllowsAnyHTTPSCertificate:YES forHost:myHost];
을
그러나 명백한 이유로 프로덕션 앱에서 비공개 API를 사용하고 싶지 않습니다.
어떻게해야할까요? CFNetwork API를 사용해야하는 경우, 다음 두 가지 질문이 필요합니다.
- 시작하기 전에 사용할 수있는 샘플 코드는 무엇입니까? 온라인을 찾지 못했습니다.
- CFNetwork를 사용하면 NSURL을 완전히 버려야합니까?
EDIT :
아이폰 OS 3.0 이렇게하는 지원 방법을 소개했다. 자세한 내용은 여기를 참조하십시오 : How to use NSURLConnection to connect with SSL for an untrusted cert?
문제의 사이트가 테스트 환경에 만 접근 내부. 나는 네트워크 관리자가 너무 싸거나 너무 게으른 그것을 위해 유효한 인증서를 유지하는 것 같아요. 우리의 프로덕션 환경에는 유효한 인증서가 있습니다. 이 인증서 회피 기능은 프로덕션 환경에서 사용하거나 필요하지 않으므로 테스트 용으로 전용 API를 사용할 수 있습니다. 개인용 API가 yank 된 경우 제 1면에 돌아 왔으므로 여전히 "올바른"방식으로 수행하는 것을 선호합니다. –