2009-11-14 1 views
4

Мне нужно выяснить, как получить две функции OpenSSL для iPhone. Я пытаюсь сохранить его, поэтому мне не нужен другой dylib, потому что я не хочу, чтобы Apple отклоняла мое приложение на что-то такое глупое.OpenSSL на iPhone

В любом случае у меня есть приложение, которое обращается к API, а не к одному из моих API, поэтому я не могу его изменить, а также я не хочу, чтобы кто-либо знал мой открытый ключ или использовал этот конкретный ' private 'api, поэтому я не могу просто создать сервер скриптов на PHP, что было бы проще, за исключением того, что он просто не сработает.

Мне нужно использовать что-то, что запечатает запрос в OpenSSL, а также закодировать открытый ключ в OpenSSL. У меня есть заголовки, и я не могу ничего понять.

ответ

7

Как правило, самый простой подход к шифрованию и расшифровке на iPhone - это Security.framework, вместо прямого использования OpenSSL.

Смотрите здесь:

http://developer.apple.com/iphone/library/DOCUMENTATION/Security/Conceptual/CertKeyTrustProgGuide/iPhone_Tasks/iPhone_Tasks.html#//apple_ref/doc/uid/TP40001358-CH208-SW9

пример в нижней части (списки 2-8, 2-9 и 2-10) показывают создание ключа RSA-1024 пара плюс шифрование и дешифрование.

Используя другой ключ, вы можете управлять методом шифрования/дешифрования в соответствии с требованиями вашего сервера.

+0

* «Вообще, самый простой подход к шифрования и дешифрования на iPhone является Security.framework, вместо того, чтобы использовать OpenSSL непосредственно ...» * - его также самый простой способ обеспечить ваш Приложение уязвимо для известных ошибок. Apple регулярно отказывается от своего программного обеспечения. У меня больше неподдерживаемых iDevices, чем исправленных. Если я буду зависеть от Apple и ее фреймворков, то я уязвим. Если я буду зависеть от его OpenSSL, то я перестрою последнюю версию, и я обновляюсь. – jww

5

Вы также можете скомпилировать OpenSSL как библиотеку для iOS. Вот урок от меня: http://www.x2on.de/2010/07/13/tutorial-iphone-app-with-compiled-openssl-1-0-0a-library/

+0

Спасибо, но не смог заставить его работать, он говорит: «Создание для симулятора», «Пожалуйста, в режиме ожидания» и завершается без какого-либо другого журнала. –

4

Для меня я обнаружил, что внедрение пакета OpenSSL из cocoapods было самым простым. Нет необходимости в учебнике.
Информация: http://cocoapods.org/?q=openssl

-> OpenSSL (1.0.1) 
    OpenSSL is an SSL/TLS and Crypto toolkit. Deprecated in Mac OS and gone in iOS, this spec gives your project non-deprecated OpenSSL support. 
    pod 'OpenSSL', '~> 1.0.1' 
    - Homepage: http://www.openssl.org/ 
    - Source: https://github.com/endSly/OpenSSL-pod.git 
    - Versions: 1.0.1, 1.0.0 [master repo] 
+0

. Я нашел это в поисковой системе. Это лучше, чем предварительно скомпилированная библиотека openssl? – AechoLiu

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

  • Нет связанных вопросов^_^