15.05.2007 17:33:24Ключевой контейнер Ответов: 7
Александр
Установил себе КриптоПро CSP 3.6 beta.
Из папки "Samples" компилирую файл "CreatingKeyContainer.c", ошибок не возникает. После запуска программы появляется окно КриптоПРО CSP, которое запрашивает "Вставьте рабочий ключевой носитель", жму "Отмена", т.к. других вариантов не предлагается. Далее появляется другое окно КриптоПРО CSP, которое запрашивает "Вставьте чистый ключевой носитель".Из устройств предлагает "Реестр", "Flash-карта" и "Дисковод А". После выбора одного из устройств, программа выводит сообщение

"A new key container has been created.
An error occurred in running the program.
A context was acquired or created, but an error occurred getting the key container name"

Как я понял, контейнер создался, а ключи в контейнере нет.
Не могу понять, в чем проблема, прошу помочь разобраться.
 
Ответы:
15.05.2007 18:09:44Василий
До создания ключа дело не дошло.
Вопрос - Вы запускали на выполнение с параметром (это имя создаваемого или существующего контейнера) ?
15.05.2007 19:02:51Александр
Имеется ввиду указывал ли имя контейнеру?
Да указывал, ничего не получилось. Хотя да же если и не указывать должно работать. На сколько мне известно, имя контейнера в этом случае будет такое же как и имя пользователя в системе.
16.05.2007 10:16:00Василий
Ясно.
Сообщите, пож., подробности:
1) номер сборки CSP (например, 3.06.4323)
2) КС1 или КС2
3) ОС, сервиспак
16.05.2007 11:36:05Александр
Версия ядра СКЗИ: 3.06.4070 КС1
Версия продукта: 3.06.4323

OS Windows XP Professional SP2
16.05.2007 15:23:19Василий
Ок. Ясно. Это ошибка в CSP 3.6.
В CSP 3.0 работает.
Закомментируйте вызов CryptGetProvParam. Остальное должно работать.
16.05.2007 19:05:21Александр
Спасибо! Все работает.
17.05.2007 13:40:49Василий
Более детальный анализ показал, что в CSP 3.6 ошибки как таковой нет. Просто изменился максимальный размер имени контейнера - с 64 на 260. Поэтому, в том примере достаточно поменять размер буфера с 100 на 260 - и всё будет работать.