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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline rfigurin  
#1 Оставлено : 24 июля 2013 г. 10:44:29(UTC)
rfigurin

Статус: Активный участник

Группы: Участники
Зарегистрирован: 10.07.2013(UTC)
Сообщений: 42
Российская Федерация
Откуда: Нижний Новгород

Сказал(а) «Спасибо»: 2 раз
Добрый день!

Пытаюсь получить дескриптор криптопровайдера:
CryptAcquireContext(&hCryptProv, NULL, NULL, PROV_GOST_2001_DH, CRYPT_NEWKEYSET)

Выдает ошибку 8009001F(NTE_BAD_KEYSET_PARAM).

Если вызывать CryptAcquireContext с ключом CRYPT_VERIFYCONTEXT - работает нормально.
Выглядит так, как будто бы у меня нет прав на создание контейнеров.
Подскажите пожалуйста, в чем может быть проблема и что еще можно проверить.

Запускаю в iOS 6.1.3 (iPhone), пробовал на симуляторе - тоже самое.
Все действия для установки фреймворка в приложение проделаны согласно инструкции.
Проверял целостность программы через PaneViewController из фреймворка - в порядке.
Лицензия - триал, установлена через утилиту SetApplicationLicense.

Единственное, что подозрительно в логе - ругается на остуствие файлов "license.ini" и "release".
Offline Татьяна  
#2 Оставлено : 24 июля 2013 г. 11:01:55(UTC)
Татьяна

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

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

Поблагодарили: 40 раз в 37 постах
Здравствуйте.

Используйте имя провайдера
CP_KC1_GR3410_2001_PROV

Чтобы понять какие провайдеры (с каким именем) у вас зарегистрированы можно или перечислить провайдеры данного типа (http://msdn.microsoft.com/en-us/library/ms938012.aspx ) или посмотреть в config.ini . Первый вариант делает всё правильно в общем виде. По умолчанию при установке CSP в исполнении КС1 на всех ОС мы регистрируем провайдер с именем CP_KC1_GR3410_2001_PROV .

Кроме того, если вы вызываете CryptAcquireContext с флагом CRYPT_NEWKEYSET, значит вы пытаетесь создать ключевой контейнер. Значит нужно указать имя контейнера: с NULL вместо имени контейнера можно получать контекст только с флагом CRYPT_VERIFYCONTEXT.
Имя контейнера указывается в формате
"\\\\.\\имя считывателя\\имя контейнера", например "\\\\.\\hdimage\\contname".

Татьяна
ООО Крипто-Про
thanks 1 пользователь поблагодарил Татьяна за этот пост.
rfigurin оставлено 24.07.2013(UTC)
Offline rfigurin  
#3 Оставлено : 24 июля 2013 г. 12:06:36(UTC)
rfigurin

Статус: Активный участник

Группы: Участники
Зарегистрирован: 10.07.2013(UTC)
Сообщений: 42
Российская Федерация
Откуда: Нижний Новгород

Сказал(а) «Спасибо»: 2 раз
Спасибо за быстрый ответ, но не помогло.

Теперь вызываю функцию так: CryptAcquireContext(&hCryptProv, "\\\\.\\HDIMAGE\\test1", CP_KC1_GR3410_2001_PROV, PROV_GOST_2001_DH, CRYPT_NEWKEYSET), ошибка та же самая - 8009001F
Проверил имя криптопровайдера - посмотрел в config.ini и через функцию CryptEnumProviders - тут все правильно.
Думаю, ошибка в имени контейнера.
Можно как-то проверить, создано ли хранилище HDIMAGE? В Мак ОСе например, это проверяется командой "cpconfig -hardware reader -view".
Offline Татьяна  
#4 Оставлено : 24 июля 2013 г. 13:04:47(UTC)
Татьяна

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

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

Поблагодарили: 40 раз в 37 постах
Проверьте что у вас провайдер в целом работоспособен. Для этого проще всего проверить, что в нашей панели успешно отрабатывает проверка целостности и проверка лицензии.
Татьяна
ООО Крипто-Про
Offline rfigurin  
#5 Оставлено : 24 июля 2013 г. 13:13:43(UTC)
rfigurin

Статус: Активный участник

Группы: Участники
Зарегистрирован: 10.07.2013(UTC)
Сообщений: 42
Российская Федерация
Откуда: Нижний Новгород

Сказал(а) «Спасибо»: 2 раз
Проверка целостности прошла успешно. Лицензия истекает через 3 месяца (триал).
Offline Татьяна  
#6 Оставлено : 24 июля 2013 г. 13:20:45(UTC)
Татьяна

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

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

Поблагодарили: 40 раз в 37 постах
Имя контейнера нормальное (если контейнера с таким именем ещё не существует). А в логах на консоли дебаггера и в "органайзер - ваше устройство - консоль" что-нибудь есть?
Если на эмуляторе повторяется, пришлите папку приложения с эмулятора (вместе с Documents и Library -- на уровень выше .app) мне на kondakova at cryptopro.ru
Татьяна
ООО Крипто-Про
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.