2008-12-10 2 views
4

Я хотел бы подтвердить, что приложение, которое я пишу, работает на iPhone. Что было бы совершенным: Apple испекла сертификат SSL-клиента в каждом iphone, который может быть аутентифицирован принимающим сервером. Я этот случай?Сертификат клиента iPhone

Я еще не начал изучать это, я обновлю все, что найду.

ОБНОВЛЕНИЕ: Here - это документация Apple на сертификаты и брелки. Итак:

В iPhone OS, брелок Услуга проверяет подпись приложения, прежде чем дать ему доступ к брелке, и позволяет приложению иметь доступ только к своим собственным пунктам брелки (с возможным исключением элементов, для которых приложение имеет полученные постоянные ссылки). В iPhone OS пользователю никогда не просят аутентифицироваться, а утилита Keychain Access не предоставляется Apple.

ответ

1

Я думаю, что большинство сайтов, которые делают это обнаружение, делают это, просматривая переменную HTTP_USER_AGENT.

+0

Которая может быть подделана. – erickson 2008-12-10 20:43:36

+0

Да, я искал что-то более безопасное, чем это. – 2008-12-10 21:04:22

1

Модуль trusted platform может делать что-то вдоль линий, которые вы ищете. Это называется remote attestation.

Однако прием доверенных вычислений ограничен — Подкованных потребителей рассматривают его как способ для поставщиков продолжать осуществлять контроль над оборудованием и данными, которыми владеет потребитель. Подтверждение Apple о том, что DRM является глупым, а также за дополнительную плату TPM, будет suggest the iPhone doesn't support this.

0

Относительно того, что сказал Грег выше. Вы можете определенно добавить пользовательский агент в свой заголовок, который мы сделали в нашем приложении. Там больше всего кода соединения HTTP, но вот один способ, которым Вы могли бы добавить агент пользователя в ваш заголовок:

NSMutableURLRequest *request; 
NSMutableDictionary *headers; 
headers = [[[NSMutableDictionary allocWithZone:[self zone]] init] autorelease]; 
[headers setValue:@"YourApp/1.0 (iPhone)" forKey:@"User-Agent"]; 
[request setAllHTTPHeaderFields:headers]; 

Опять же, обратите внимание, что этот код сосредоточен только на бит заголовка, так что вы должны будете реализовать полное http-решение.

Смежные вопросы