SSL с использованием сертификатов x.509 cocoa

#xcode #cocoa #ssl #x509

#xcode #cocoa #ssl #x509

Вопрос:

Я хотел знать, где именно в xcode мне разместить сертификат x.509, который у меня есть. Берем пример отсюда:http://code.google.com/p/cocoaasyncsocket/downloads/detail?name=CertTest.zipamp;can=1amp;q =

Я хотел иметь возможность взаимодействовать с защищенным сервером, который у меня запущен. Кажется, я просто не могу добавить сертификат, и каждый раз, когда я это делаю, мой Mac открывает окно keychain с запросом m, принадлежит ли сертификат какой-либо из настроек моей системы (кроме моего проекта). Итак, я хотел знать, где мне разместить его в своем проекте и как я буду его использовать (я думаю, проект по ссылке поможет с этим)

Комментарии:

1. Вы хотите использовать сертификат США для аутентификации на сервере?

2. да, это так. кажется, я не могу выполнить аутентификацию.

Ответ №1:

Если вы используете NSURLConnection для подключения к вашему серверу, вам следует реализовать следующие методы в вашем делегате:

 - (BOOL)connection:(NSURLConnection *)conn canAuthenticateAgainstProtectionSpace:(NSURLProtectionSpace *)protectionSpace;
// A delegate method called by the NSURLConnection when something happens with the 
// connection security-wise.  We defer all of the logic for how to handle this to 
// the ChallengeHandler module (and it's very custom subclasses).


- (void)connection:(NSURLConnection *)conn didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge
// A delegate method called by the NSURLConnection when you accept a specific 
// authentication challenge by returning YES from -connection:canAuthenticateAgainstProtectionSpace:. 
// Again, most of the logic has been shuffled off to the ChallengeHandler module; the only 
// policy decision we make here is that, if the challenge handle doesn't get it right in 5 tries, 
// we bail out.
  

Я советую вам просмотреть этот пример от Apple: Расширенные URL-соединения

Комментарии:

1. ах да. это должно сработать. Спасибо! не знал об этом примере.