2011-02-01 5 views
5

У кого-либо еще есть проблемы с получением запроса https, работающего на старом iphone.Запрос HTTPS на старый iphone 3g

От сбоя связи с ошибкой сообщение об ошибке выглядит следующим образом.

ERROR с theConnection: Ошибка домена = NSURLErrorDomain Code = -1202 «Сертификат для этого сервера недействителен, Вы подключаетесь к серверу, который притворяется.„Www.ourwesbite.co.uk“, которые могли бы подвергать вашу конфиденциальную информацию риску ».

«ourwebsite» имеет действующий сертификат, а также эта проблема не возникает ни в одном из новых iphone/ipod touch или ipads только самые старые iphones.

Это влияет на мой логин от работы, вызывая ошибку подключения после того, как пользователь нажимает кнопку ok на предупреждение об ошибке соединения, процесс входа в систему проходит через штраф. Но проблема заключается в том, что он влияет на пользовательский интерфейс после входа в систему.

Так что очень хочу знать, есть ли у кого-то еще такие проблемы со старым iphone. С моим кодом нет проблем, так как он отлично работает на симуляторе & ipad/4gen ipod touch.

Благодаря

+0

Какая версия iOS для iPhone 3G работает? Вы выполняете асинхронное NSURLConnection? – fsaint

ответ

2

ИТАК даже то сертификат действителен он будет выбрасывает ошибку. Поэтому, используя следующий метод делегата для NSURLConnection, эта проблема решена.

-(void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge{ 

он вызывается, когда есть проблема с аутентификацией. Следующий бит кода позволяет продолжить соединение https.

[challenge.sender useCredential:[NSURLCredential credentialForTrust:challenge.protectionSpace.serverTrust] forAuthenticationChallenge:challenge]; 

А затем, что позволяет подключать через, если он чувствует, что это ненадежный

8

У нас была ошибка и iPhone 3g в вопросе имел неправильную дату и время набора. Это означает, что все транзакции SSL не сработают.

Мы предположили, что эта ошибка iOS является проблемой Apple, а не нашей, и поэтому взломать SSL-сертификат, который нужно игнорировать, не является решением!