Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline n1k1tung  
#1 Оставлено : 2 марта 2012 г. 22:12:17(UTC)
n1k1tung

Статус: Новичок

Группы: Участники
Зарегистрирован: 09.12.2011(UTC)
Сообщений: 4

При использовании КриптоПро для iOS возникла следующая проблема:

После выполнения нескольких операций подписания и проверки подписей (включая проверку цепочки сертификатов) очередноя попытка открыть хранилище сертификатов выполняется неудачно с ошибкой NTE_BAD_KEYSET(0x8009001a). При выполнении операций все контексты сертификатов, хэндлы хранилищ сертификтатов и ключей, а также хэндлы других объектов освобождаются соответсвующими функциями, но проблема остаётся. Помогает лишь перезапуск приложения, использующего библиотеку КриптоПро.

Вот лог библиотеки на устройстве при неудачной попытке вызова CertOpenStore:
cpcsp[15297] <Error>: cpcsp:!0x3f05fce8:!:247!QueryTester!FAIL: Flags 0x7ffffff!
cpcsp[15297] <Error>: cpcsp:!0x3f05fce8:!:367!CPCAcquireContext!Tester fail cc=Ix hCSP=0x5609f40!

Возможно ли каким-то образом решить эту проблему без перезапуска приложения?
Offline Татьяна  
#2 Оставлено : 11 марта 2012 г. 11:40:05(UTC)
Татьяна

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.02.2008(UTC)
Сообщений: 1,491
Откуда: Крипто-Про

Поблагодарили: 40 раз в 37 постах
Здравствуйте. Это ошибки проверки целостности приложения.
Удалите приложение с iPad и переустановите, внимательно выполнив пункт инструкции

Цитата:
8. В левой панели выбрать "Targets - имя проекта", нажать правой кнопкой мыши, выбрать
в контекстном меню "Add - New Build Phase - New Run Script Build Phase".
В секцию "Script" нужно ввести
<Путь к директории с фреймворком>/ConfigureApplication


Кроме того, если проблемы возникают при отладке приложения, обратите внимание на пункт инструкции

Цитата:
Во время отладки проектов необходимо отключать контроль целостности CSP. Для этого нужно
вызвать функцию DisableIntegrityCheck() из /Headers/DisableIntegrity.h .
Татьяна
ООО Крипто-Про
Offline n1k1tung  
#3 Оставлено : 27 марта 2012 г. 16:48:39(UTC)
n1k1tung

Статус: Новичок

Группы: Участники
Зарегистрирован: 09.12.2011(UTC)
Сообщений: 4

Здравствуйте.
Разумеется, скриптовую билд фазу мы не забыли, и при отладке DisableIntegrityCheck() вызывается до первого использования остальных функций библиотеки. Однако проблема нарушения целостности остаётся, но лишь при отладке (на данный момент случаев возникновения подобной ошибки на релизном варианте приложения не было), так что Бог с ней.

Зато и в режиме отладки и в релиз при попытке обращения к ключевому контейнеру проскакивает следующая ошибка:
unknown cpcsp[24692] <Error>: cpcsp:!0x3ef78ce8:!:1221!CreateUserCryptObject!key_carrier_get_material_with_public fail!
unknown cpcsp[24692] <Error>: 12:15:24.025123 support_an_fopen:83 p:24692 t:0x0x32f942a0 support_an_fopen("/private/var/mobile/Applications/DCA757C8-9AAB-4BFE-95CA-D9815F6AC634/Library/Caches/cprocsp/users/mobile/policies.ini", "rb") = 0x0x0 fail No such file or directory(2)

На джейлбрейкнутом устройстве мы удостоверились, что указанного файла действительно нет, хотя остальная структура файлов и папок криптопро в Library/Caches/ создаётся корректно.
Offline Татьяна  
#4 Оставлено : 27 марта 2012 г. 17:59:22(UTC)
Татьяна

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.02.2008(UTC)
Сообщений: 1,491
Откуда: Крипто-Про

Поблагодарили: 40 раз в 37 постах
Если так, то, вероятно, все беды от того, что при перетаскивании ресурсов фреймворка в проект Вы не выбрали опцию "Create Folder referencies for any added folders". Эта опция нужна, чтобы была создана правильная структура CSP-шных каталогов в папке приложения на устройстве. Чтобы это исправить, удалите наши ресурсы из проекта, а потом добавьте с указанием правильной опции. После этого удалите и установите приложение. Если не поможет, пришлите вывод

find <имя каталога приложения>/Library
Татьяна
ООО Крипто-Про
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.