| ||||
| ||||
Установил себе КриптоПро 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" Как я понял, контейнер создался, а ключи в контейнере нет. Не могу понять, в чем проблема, прошу помочь разобраться. | ||||
Ответы: | ||||
| ||||
До создания ключа дело не дошло. Вопрос - Вы запускали на выполнение с параметром (это имя создаваемого или существующего контейнера) ? | ||||
| ||||
Имеется ввиду указывал ли имя контейнеру? Да указывал, ничего не получилось. Хотя да же если и не указывать должно работать. На сколько мне известно, имя контейнера в этом случае будет такое же как и имя пользователя в системе. | ||||
| ||||
Ясно. Сообщите, пож., подробности: 1) номер сборки CSP (например, 3.06.4323) 2) КС1 или КС2 3) ОС, сервиспак | ||||
| ||||
Версия ядра СКЗИ: 3.06.4070 КС1 Версия продукта: 3.06.4323 OS Windows XP Professional SP2 | ||||
| ||||
Ок. Ясно. Это ошибка в CSP 3.6. В CSP 3.0 работает. Закомментируйте вызов CryptGetProvParam. Остальное должно работать. | ||||
| ||||
Спасибо! Все работает. | ||||
| ||||
Более детальный анализ показал, что в CSP 3.6 ошибки как таковой нет. Просто изменился максимальный размер имени контейнера - с 64 на 260. Поэтому, в том примере достаточно поменять размер буфера с 100 на 260 - и всё будет работать. | ||||