2013-05-06 6 views
0

Итак, у моей компании есть приложение для iPhone. Мы публикуем API на нашем сервере, и нам нужно аутентифицировать клиентское приложение (а не пользователь, мы хотим знать, является ли это iPhone-приложение, которое оно утверждает).Как получить доступ к открытому ключу iphone?

Что бы я хотел сделать, так это приложить приложение для отправки нашему серверу открытого ключа для приложения в магазине приложений Apple в рамках его первоначального запроса. Я бы хотел, чтобы наш сервер мог спросить магазин Apple. «Этот открытый ключ является ключом для приложения, которое я думаю?» Если это так, то мы выдадим действительный токен для всех других запросов, если не - отскакиваем запрос.

Я понимаю, что этот подход может быть подделан (в том, что кто-то может просто найти открытый ключ с телефона Jailbroken и притвориться приложением), но для начальных выпусков приложения нам все равно, потому что мы ХОТИТЕ люди, чтобы использовать приложение. Позже мы хотим дать указание на запросы API от партнеров (которым разрешено отправлять запросы с использованием метода, описанного выше), но на данный момент нет необходимости подписывать или действительно разрешать запросы (с 2 или 3 ногами oAuth).

Итак, просто поместите-- o Есть ли способ для приложения iPhone, чтобы спросить iOS для открытого ключа, используемого для подписывания приложения? o Есть ли способ для сервера или другой программы запросить магазин Apple? Является ли этот открытый ключ ключевым для приложения, которое, как я думаю, есть? "

Я по существу стараюсь использовать магазин Apple в качестве органа аутентификации. Я знаю: они уже в том, что они должны быть подписаны и одобрены Apple, но мне нужна проверка времени запроса сервера.

Спасибо заранее.

ответ

1

Почему бы просто не создать свой собственный ключ и не сохранить его в своем приложении? Затем передайте этот ключ вместе со всеми запросами API.

Вы можете использовать этот подход в сочетании с передачей версии приложения. Такой подход позволит вам ограничить доступ к API, если ключ приложения больше не поддерживается или блокирует устаревшую версию приложения.

+0

Проблема в том, что, действуя как мой собственный центр сертификации, это то же самое, что и принятие КАЖДОГО приложения. Мне действительно нужна сторонняя сторона, чтобы аутентифицировать приложение так, как оно утверждает. Потенциальные партнеры, которые будут писать приложения для нас, не обязательно достаточно квалифицированы, чтобы написать сервер, на который мы могли бы аутентифицироваться. Например, сценарий приложения, получающего токен со своего сервера и передачу его на наш сервер, который мог бы проверить его, вызывая их сервер до того, как мы выпустим нашу собственную, невозможен. – twajjo

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