#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. ах да. это должно сработать. Спасибо! не знал об этом примере.