31.10.2005 17:25:53CryptoPro CSP 3.0 - Не удается создать ключевой контейнер Ответов: 2
Sergey Storozhevykh
Версия: CryptoPro CSP KC2 3.0.3293

ОС: Windows XP SP2

Проблема:

В числе установленных считывателей фигурируют ’Дискета’ и ’Реестр’. Все настройки CSP по умолчанию.

1) собираем пример ’sdk\samples\CSP\CreatingKeyContainer’;
2) запускаем, то что получилось;
3) появляется окно с текстом ’Вставьте ключевой носитель ...’. Жмем ’Отмена’;
4) появляется окно ’Вставьте чистый ключевой носитель’. Вставляем дискету. Выбираем значок дискеты. Жмем ’ОК’;
5) получаем ошибку 0х80090020 (NTE_FAIL).

Ошибка возникает при попытке вызова следующей функции:

// Создание подписанной ключевой пары.
if(CryptGenKey(
hCryptProv,
AT_SIGNATURE,
0,
&hKey))
{
printf("Created a signature key pair.\n");
}
else
{
HandleError("Error occurred creating a signature key.\n");
}

Если закомментарить создание ’signature key’, то программа завершается с точно такой же ошибкой при попытке создания ключевой пары обмена:

// Создание ключевой пары обмена.
if(CryptGenKey(
hCryptProv,
AT_KEYEXCHANGE,
0,
&hKey))
{
printf("Exchange key pair created.\n");
}
else
{
HandleError("Error occurred attempting to create an exchange key.\n");
}

Дискета остается девственно чистой. Та же ошибка возникает при попытке создания ключевого контейнера в реестре.

Подскажите, пожалуйста, пути исправления ситуации.

Спасибо, Сергей.
 
Ответы:
31.10.2005 22:31:45maxdm
А ДСЧ какой установлен?
01.11.2005 10:45:47Sergey Storozhevykh
Спасибо, установил ’Биологический ДСЧ’ - все заработало.