문제

NSURLRequest, 려 나 웹 사이트에 액세스하는 인증서가 만료되었는지.보내면 요청은,나의 연결:didFailWithError 대리자 메서드를 호출하면 다음과 같은 정보:

-1203, NSURLErrorDomain, bad server certificate

내 검색만 설정을 하나의 솔루션:이 숨겨진 클래스 메소드에서 NSURLRequest:

[NSURLRequest setAllowsAnyHTTPSCertificate:YES forHost:myHost];

그러나 내가 사용하고 싶지 않은 개인 Api 에서 생산 응용 프로그램을 위한 명백한 이유.

어떤 제안에 무엇을 할까?나는 사용할 필요가 CFNetwork Api,그렇다면,두 개의 질문:

  • 모든 샘플 코드가 사용할 수 있습을 시작할 수 있습니까?나는지는 모든 온라인.
  • 내가 사용하는 경우 CFNetwork 에 대한 이들은 도랑 NSURL 니다.

편집:

iPhone OS3.0 도입은 지원되는 방법에 대한 이것을 하고 있다.자세한 내용은 여기: 를 사용하는 방법 있는 nsurlconnection 와 연결을 SSL 인증서 신뢰할 수 없는?

도움이 되었습니까?

해결책 3

iPhone OS3.0 도입은 지원되는 방법 이 필요로하지 않는 낮은 수준 CFNetwork Api.자세한 내용은 여기:

를 사용하는 방법 있는 nsurlconnection 와 연결을 SSL 인증서 신뢰할 수 없는?

다른 팁

지원되는 방법이 사용해야 합니 CFNetwork.당신이해야 할 첨부 kCFStreamPropertySSLSettings 스트림에 지정하는 kCFStreamSSLValidatesCertificatechain==kCFBooleanFalse.아래는 일부 빠른 코드는 그것은,마이너스 확인을 위해 유효한 결과를 추가 청소습니다.일단 당신이 이것을 사용할 수 있습 CFReadStreamRead()데이터를 얻을.

CFURLRef myURL = CFURLCreateWithString(kCFAllocatorDefault, CFSTR("http://www.apple.com"), NULL);
CFHTTPMessageRef myRequest = CFHTTPMessageCreateRequest(kCFAllocatorDefault, CFSTR("GET"), myURL, kCFHTTPVersion1_1);
CFReadStreamRef myStream = CFReadStreamCreateForHTTPRequest(kCFAllocatorDefault, myRequest);
CFMutableDictionaryRef myDict = CFDictionaryCreateMutable(kCFAllocatorDefault, 0, &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks);
CFDictionarySetValue(myDict, kCFStreamSSLValidatesCertificateChain, kCFBooleanFalse);
CFReadStreamSetProperty(myStream, kCFStreamPropertySSLSettings, myDict);    
CFReadStreamOpen(myStream);

면 그것을 위해 내부 서버 테스트용으로,왜 그냥 가져오기 시험 서버 인증서 키체인하고 사용자 지정 신뢰 설정은?

나 같은 문제는 나를 개발 비누,클라이언트 개발 서버에서는"자체 개발한"인증을 취득하게 됩니다.할 수 있습니다 문제를 해결하기 위해도 사용하는 방법,이를 사용하지 않았습니다.NSURL 지만(가난하게 문서화되고 분명히 버려진)WS 방법,그리고에 대한 결정되는 시간을(내부적으로)는 단지 사용,비 SSL 연결합니다.

을 말하고는,그러나,질문이지 않은 경우,사용하고자 개인 API 에서 생산용,당신은에 액세스 할 수 있도록 사이트의 사기 certificate?

내가 견적 Jens Alfke:

는 단지 이론적인 보안 문제입니다.가
25%의 공 DNS 서버가 손상되었다,따라
최근 보고서 및할 수 있는 사용자를 피싱/악성/사이트도 광고
는 경우 그들은 도메인 이름을 입력합니다.유일한 것은 당신을 보호
에서는 SSL 인증서 확인합니다.

할 수 있는 자체 서명된 인증서를 추가하고 사용자 지정 인증 기관의 신뢰할 수 있는 CAs?나는 어떻게 작동되는 아이폰에,그러나 나는 가정에서 Mac OS X 을 추가 이러한 키체인.

당신은 또한에 관심이있을 수 있습니다 이 게시물 Re:를 처리하는 방법이 나쁜 증명서에 오류가 NSURLDownload

또 다른 옵션을 사용하는 것이 대체 연결은 라이브러리입니다.

나의 거대한 팬 AsyncSocket 과 지원을 위한 자체 서명된 인증서

http://code.google.com/p/cocoaasyncsocket/

을 보면,나는 그것은 방법은 더 강력한 다음 표준 NSURLRequests.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top