Здравствуйте!
Возникла необходимость использовать АПИ CSP на языке C. Решил попробовать примеры из SDK (SILENT.c)
Константы оставил такие
#define WRONG_PIN "1234"
#define RIGHT_PIN "1"
#ifdef _WIN32
#define CONTAINER _TEXT("\\\\.\\HDIMAGE\\CO_TEST1")
#else
#define CONTAINER _TEXT("\\\\.\\HDIMAGE\\CO_TEST1")
#endif
Имею ошибку 0x8009000d (то есть не находит контейнер?)
При этом попытка установить неправильный пароль как положено не проходит, а правильный пароль успешно устанавливается.
Может ошибка здесь
if(CryptAcquireContext(
&hProv,
CONTAINER,
NULL,
PROV_GOST_2012_256,
CRYPT_SILENT)) ... (У меня длина 512) - менял на PROV_GOST_2012_512, не помогает
ПРИЛОЖЕНИЕ ПАДАЕТ ВОТ ЗДЕСЬ
if(CryptGetUserKey(
hProv,
AT_SIGNATURE,
&hKey))
{
printf("CryptGetUserKey succeeded.\n");
}
else
{
HandleError("Error during CryptGetUserKey.");
}
Вот данные контейнера
Проверка завершена успешно ошибок не обнаружено
Контейнер закрытого ключа пользователя
Имя CO_TEST1
Уникальное имя HDIMAGE\\COrTEST1.000\6C5C
FQCN \\.\HDIMAGE\CO_TEST1
Проверка целостности контейнера успешно
Ключ обмена доступен
длина ключа 512 бит
экспорт открытого ключа успешно
вычисление открытого ключа успешно
импорт открытого ключа успешно
подпись успешно
проверка успешно
создание ключа обмена успешно
экспорт ключа разрешен
алгоритм ГОСТ Р 34.10-2012 DH 256 бит
ГОСТ Р 34.10 256 бит, параметры обмена по умолчанию
ГОСТ Р 34.11-2012 256 бит
ГОСТ 28147-89, параметры шифрования ТК26 Z
сертификат в контейнере соответствует закрытому ключу
имя сертификата CO
субъект C=RU, O=CryptoPro, CN=CO
поставщик E=support@cryptopro.ru, C=RU, L=Moscow, O=CRYPTO-PRO LLC, CN=CRYPTO-PRO Test Center 2
действителен с 16 апреля 2024 г. 15:43:31
действителен по 26 мая 2024 г. 14:34:05
серийный номер 1200 63C0 ABCF 132F 5A30 727D C800 0100 63C0 AB
сертификат в хранилище не установлен
cрок действия закрытого ключа 16 июля 2025 г. 15:43:31
использование ключа обмена разрешено до окончания срока действия закрытого ключа.
Ключ подписи отсутствует
Симметричный ключ отсутствует
Загрузка ключей успешно
Версия контейнера 2
Значение ControlKeyTimeValidity 1
Режим работы CSP библиотека
Расширения контейнера
некритическое Расширение контейнера КриптоПро CSP. Срок действия ключа обмена
действителен по 16 июля 2025 г. 15:51:32
Отредактировано пользователем 16 мая 2024 г. 13:23:04(UTC)
| Причина: Не указана