[ru]
1. Введение
CryptoProSample -- это проект, содержащий пример использования Рутокен в устройствах с операционной системой iOS по защищенному каналу через интерфейс CSP (реализованный в фреймворке CPROCSP.framework). Подробнее о технологии защищенного канала взаимодействия с токеном по адресу: http://dev.rutoken.ru/pages/viewpage.action?pageId=10059883

2. Как собрать пример
Внимание! Для успешной сборки примера в проект необходимо установить дополнительные бинарные компоненты.
Добавьте следующие фреймворки в директорию ~/CryptoProSample/Frameworks:
- CPROCSP.framework (доступен для загрузки по адресу https://www.cryptopro.ru/products/csp/downloads#latest_csp40; настройка CPROCSP.framework производится в соответствии с CPROCSP.framework/ReadMe.txt)
- RtPKCS11ECP.framework (доступен в составе комплекта разработчика Рутокен (rtSDK) по пути Libs/ios/pkcs11-sm-cryptopro/static/RtPKCS11ECP.framework)
- RtPcsc.framework (доступен в составе комплекта разработчика Рутокен (rtSDK) по пути Libs/ios/pcsc/RtPcsc.framework)
- RDRRtSupCp.framework (доступен в составе комплекта разработчика Рутокен (rtSDK) по пути Libs/ios/rtsupcp/RDRRtSupCp.framework)
В случае сборки примера в составе комплекта разработчика Рутокен (rtSDK) при сохранении оригинальной структуры директорий копирование фреймворков RtPKCS11ECP.framework, RtPcsc.framework, RDRRtSupCp.framework в директорию ~/CryptoProSample/Frameworks не является обязательным -- при сборке проекта происходит автоматическое их обнаружение по путям в директории Libs/ios/.
Пример оптимизирован для сборки в Xcode версии 4.6 и выше. Для сборки примера необходимо иметь действительный профиль разработчика (см. https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/Introduction/Introduction.html). 
После установки перечисленных выше бинарных компонентов, откройте проект ~/CryptoProSample/testiphoneappl.xcodeproj в Xcode, выберите в качестве целевого устройства "iOS Device" и выполните "Product->Build".
В cлучае необходимости поддержки ввода пароля инициализации один раз для всех приложений разработчика, переименуйте Entitlements.plistsample в Entitlements.plist и добавьте Entitlements.plist в качестве Code Signing Entitlements и в список копируемых на устройство ресурсов в Xcode, заменив перед этим строку YYYYYYYYYY в файле на ваш Bundle Seed ID.

3. Запуск примера
Запустить собранный пример на iOS-устройстве можно при помощи Xcode посредством команды "Product->Run".

Copyright Aktiv Co. 2014.

[en]
1. Introduction
CryptoProSample is a sample project to access Rutoken using CSP interface (CPROCSP.framework) with trusted data channel (secure messaging technology) on iOS devices. For more information about trusted data channel please visit http://dev.rutoken.ru/pages/viewpage.action?pageId=10059883

2. How to build
Warning! To build the sample successfully one has to set additional binary components.
Put following frameworks to ~/CryptoProSample/Frameworks:
- CPROCSP.framework (can be downloaded from https://www.cryptopro.ru/products/csp/downloads#latest_csp40; set up CPROCSP.framework in accordance with CPROCSP.framework/ReadMe.txt)
- RtPKCS11ECP.framework (can be found in Rutoken SDK (rtSDK) at Libs/ios/pkcs11-sm-cryptopro/static/RtPKCS11ECP.framework)
- RtPcsc.framework (can be found in Rutoken SDK (rtSDK) at Libs/ios/pcsc/RtPcsc.framework)
- RDRRtSupCp.framework (can be found in Rutoken SDK (rtSDK) at Libs/ios/rtsupcp/RDRRtSupCp.framework)
In case of building the sample from Rutoken SDK (rtSDK) provided original filestructure is not tempered, one is not obliged to copy RtPKCS11ECP.framework, RtPcsc.framework, RDRRtSupCp.framework to ~/CryptoProSample/Frameworks for this frameworks are discovered automatically at Libs/ios/ during the build process.
The sample is optimized for building with Xcode 4.6 and higher. To build the sample one has to have valid developer profile (see https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/Introduction/Introduction.html). 
After having set up binary components open project ~/CryptoProSample/testiphoneappl.xcodeproj in Xcode, choose target "iOS Device" and perform "Product->Build".
In case you need to support one time SM initialisation for all vendor's application, replace string "YYYYYYYYYY" with your Bundle Seed ID in the file Entitlements.plistsample, rename Entitlements.plistsample to Entitlements.plist, add Entitlements.plist as Code Signing Entitlements and add it to Resource Copy List in Xcode.

3. Running the sample
To run the sample on iOS device perform "Product->Run" in Xcode.

Copyright Aktiv Co. 2014.
