2010-11-17 1 views
2

Я пытаюсь зашифровать трафик для своей игры iphone, и у меня проблема. У меня есть файл keystore.p12, и я хочу настроить его, чтобы закрытый ключ находился на сервере с открытым ключом на клиенте, поэтому я экспортирую .cer из файла .p12, но я не уверен, что для установки в SecIdentityRef при настройке сокетов.Где поставить SSL-сертификаты

Я хочу подтвердить. Я не хочу, чтобы файл keystore .p12 на клиенте был? Разве это не победит цель использования SSL в первую очередь?

ответ

0

Вы действительно уверены, что хотите использовать SSL-сертификаты на стороне клиента? Недостаточно ли просто использовать либо официальный приобретенный SSL-сертификат на вашем сервере, либо отключить проверку официальных сертификатов на устройстве?

+0

Я не думаю, что мне нужно использовать сертификаты на стороне клиента. Мне сложно понять, как это сделать, используя iphone SDK любым другим способом, но – clarity

+0

Игнорирование самоподписанных сертификатов хорошо покрывается стеком переполнения. У вас нет ссылки для вас, но ее легко найти. Или используйте что-то более высокое, например ASIHTTPRequest, которое имеет флаг simpe для работы с недействительными сертификатами. –

0

Использование клиентской стороны -ssl является одной из самых сильных отдельных форм аутентификации. К сожалению, то, что вы пытаетесь сделать, принципиально невозможно. Пользователь iPhone может выполнить джейлбрейк устройства и иметь больше управления над устройством, чем вы.

Единственный способ по-настоящему защитить эту систему состоит в том, чтобы переделать приложение и только функционально разоблачить серверную функциональность, которая безопасна для использования злоумышленником. Если это невозможно, то ваша лучшая надежда - это запутывание и надеется, что никто не тратит время на ваше приложение. Это неправильный подход, поскольку он нарушает Security Through Obscurity.