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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline snenashev  
#1 Оставлено : 31 мая 2008 г. 1:03:45(UTC)
snenashev

Статус: Новичок

Группы: Участники
Зарегистрирован: 31.05.2008(UTC)
Сообщений: 1

Делается так (проверки на ошибки и прочее подобное убраны)
Код:

CryptAcquireContext (&hProv, ContainerName, CP_GR3410_2001_PROV_A, pCryptKeyProvInfo->dwProvType, 0);
CryptGetUserKey(hProv, AT_KEYEXCHANGE, &hUserKey);
CryptImportPublicKeyInfoEx( hProv, X509_ASN_ENCODING | PKCS_7_ASN_ENCODING,	
                                           &(pSignerCertContext->pCertInfo->SubjectPublicKeyInfo),
                                           CALG_GR3410, 0, NULL,&hPublicKey);
CryptExportKey(hPublicKey, 0, PUBLICKEYBLOB, 0, NULL, &DataSize);
// Тут выделяется память
CryptExportKey(hPublicKey, 0, PUBLICKEYBLOB, 0, KeyBlobData, &DataSize);
CryptImportKey(hProv, KeyBlobData, DataSize, hUserKey, 0, &hExchKey);


Делается это в рамках формирования сессионного ключа. На последнем вызове происходит ошибка с кодом 0x80090005. Однако ошибка появляется только при использовании GOST R 34.10-2001. На GOST R 34.10-94 всё в порядке (дальше успешно создаётся ключ сессии).

Сертификаты создаю при помощи csptest. В случае с GOST R 34.10-2001 команда:
csptest.exe -makecert CN=name -p 0 -ca

Для GOST R 34.10-94 аналогично:
csptest.exe -makecert CN=name -p 2 -ca

Версия криптопровайдера - 3 SP3.
Что делаю не так? Eh?

Спасибо.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.