Как сгенерировать подпись формата PKCS7 с помощью IOS iphone SDK? - PullRequest
1 голос
/ 17 октября 2011

Я мог сгенерировать необработанную подпись в формате PKCS1 .. и смог проверить даже. Но не удалось найти ресурс для создания форматированной подписи PCKS7 с помощью IPHONE IOS SDK.

Мне нужно подписать простое текстовое сообщение.

Какую библиотеку я должен использовать?

Можем ли мы использовать openssl для этого? Если да? тогда как включить его в структуру библиотеки XCODE?

Пожалуйста, помогите.

1 Ответ

0 голосов
/ 17 октября 2011

Да, вы можете использовать openssl для этого, однако вам нужно будет скомпилировать его самостоятельно и связать ваше приложение со статической библиотекой.Если вы хотите запустить его как на симуляторе iPhone, так и на реальном устройстве iPhone (вам это нужно), вам необходимо создать «толстую» библиотеку, содержащую код архитектуры armv7 и i386.Если вы хотите поддерживать iPhone 3 вместо этого, вам нужно будет включить код архитектуры armv6.Поэтому лучше создать библиотеку со всеми 3 архитектурами.

Вот пара ресурсов, которые описывают, как собрать openssl для iOS:

http://atastypixel.com/blog/easy-inclusion-of-openssl-into-iphone-app-projects/ https://github.com/st3fan/ios-openssl

EDIT : Я на самом деле изменил скрипт сборки st3fan, который я вставил сюда:

setenv.sh и build_openssl.sh

Загрузите эти сценарии и сохраните их где-то вроде ~ / bin (просмотрите их и затем chmod их 0755, как только вы убедитесь, что они не являются вредоносными).

Следующее редактирование setenv.sh, как предполагаетсяесть каталог, куда вы будете устанавливать сторонние библиотеки.По умолчанию это /opt/local/ioslibs, поэтому убедитесь, что он существует и принадлежит вам, иначе последний бит не будет выполнен.Он был настроен для Xcode 4.2 / iOS SDK 5 с использованием местоположений по умолчанию, поэтому, возможно, потребуется его исправить.

build_openssl.sh настроен для сборки определенной версии openssl (1.0.0e) и будет загружать исходный архивесли он не находится в текущем каталоге (для этого вам нужно wget, но если вам не удалось установить wget, загрузите его вручную, используя ссылку в скрипте).Когда вы запустите его, он соберет библиотеку в архивах armv6, armv7 и i386 и скопирует нужные файлы в каталог установки.

...