Статус: Новичок
Группы: Участники
Зарегистрирован: 27.09.2012(UTC) Сообщений: 8  Откуда: Москва
|
Добрый день! Получилась следующая ситуация. Обратился к нам заказчик с просьбой дополнить наш продукт шифрованием (хешированием etc) по алгоритмам ГОСТ. У заказчика есть официальная КриптоПро 3.6, он передал мне демонстрационную версию инсталляции CryptoPro_3_6.exe. Дистрибутив установился, все хорошо. Теперь я хочу начать использовать провайдера для алгоритма ГОСТ. Да, sdk передано не было, поэтому значения я нашел тут на форуме: Код:
#define ALG_SID_GR3411 30
#define CALG_GR3411 (ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_GR3411)
И вот что получается: Код:
HCRYPTPROV hProv = 0;
HCRYPTHASH hHash = 0;
if(!CryptAcquireContext(&hProv, NULL, NULL, PROV_RSA_FULL, 0)) {
std::cout << "cannot acquire context";
return 0;
}
std::cout << "the context acquired" << std::endl;
if(!CryptCreateHash(hProv, CALG_GR3411, 0, 0, &hHash))
{
std::cout << "cannot create hash" << std::endl;
if (GetLastError() == NTE_BAD_ALGID) std::cout << "The Algid parameter specifies an algorithm that this CSP does not support." << std::endl;
}
else
{
std::cout << "the hash created" << std::endl;
}
if(hHash)
{
CryptDestroyHash(hHash);
std::cout << "the hash destroyed" << std::endl;
}
if(hProv)
{
CryptReleaseContext(hProv,0);
std::cout << "the context released" << std::endl;
}
Я получаю "The Algid parameter specifies an algorithm that this CSP does not support." и все тут. А со значением, например, CALG_MD5 все работает. Что не так? В чем может быть проблема? Система Windows7 x64. Установлены файлы и для x32 и для x64. И еще вопрос, наверное, надо было бы в ветке "КриптоПро .Net" задать - я верно понимаю, что для работы КриптоПро.Net требуется установить КриптоПро CSP и без CSP он работать не будет?
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,399  Откуда: КРИПТО-ПРО Сказал «Спасибо»: 37 раз Поблагодарили: 719 раз в 623 постах
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,523   Сказал «Спасибо»: 555 раз Поблагодарили: 2252 раз в 1757 постах
|
Добрый день. А где информация о используемом сертификате? вкладка состав\открытый ключ - что написано? ГОСТ? или RSA ? |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 27.09.2012(UTC) Сообщений: 8  Откуда: Москва
|
Прошу прощения. maxdm написал:Используйте 75 тип криптопрвайдера. Поставил 75 в тип провайдера CryptAcquireContext(&hProv, NULL, NULL, 75, 0) Получил предложение вставить ключевой носитель. Андрей * написал:А где информация о используемом сертификате? Сертификат? Для простого расчета хеша? И вот вопросы то какие. Нет у меня ни ключей, ни носителей. Мне в данный момент надо просто хеши считать для заказчика. О шифровании речь пока не идет. Как быть в такой ситуации? Отредактировано пользователем 27 сентября 2012 г. 14:05:31(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,523   Сказал «Спасибо»: 555 раз Поблагодарили: 2252 раз в 1757 постах
|
Matti написал:Прошу прощения. maxdm написал:Используйте 75 тип криптопрвайдера. Не понял совсем. Как именно использовать и что такое тип 75? CryptAcquireContext(&hProv, NULL, NULL, PROV_RSA_FULL, 0 имя криптопровайдера указано в реестре HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Defaults\ Provider Types\ Matti написал:Андрей * написал:А где информация о используемом сертификате? Сертификат? Для простого расчета хеша? так потом же шифрование.... на основе открытого ключа из сертификата получателя зашифрованных данных... для хеша - не нужно... Отредактировано пользователем 27 сентября 2012 г. 14:10:04(UTC)
| Причина: Не указана |
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,523   Сказал «Спасибо»: 555 раз Поблагодарили: 2252 раз в 1757 постах
|
Цитата: И вот вопросы то какие. Нет у меня ни ключей, ни носителей. Мне в данный момент надо просто хеши считать для заказчика. О шифровании речь пока не идет. Как быть в такой ситуации?
для хеширования - не нужен сертификат\контейнер скачать нужно SDK... в нем все есть ... с сайта КриптоПРО или подправить код - указав правильное имя криптопровайдера |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 27.09.2012(UTC) Сообщений: 8  Откуда: Москва
|
Андрей * написал:скачать нужно SDK... в нем все есть ... с сайта КриптоПРО Про sdk - не подскажете ссылку? Я не нашел sdk именно для CSP. Для, скажем, КриптоПро.Net нашел, а для CSP нет.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,523   Сказал «Спасибо»: 555 раз Поблагодарили: 2252 раз в 1757 постах
|
Matti написал:Андрей * написал:скачать нужно SDK... в нем все есть ... с сайта КриптоПРО Про sdk - не подскажете ссылку? Я не нашел sdk именно для CSP. Для, скажем, КриптоПро.Net нашел, а для CSP нет. на странице с CSP http://www.cryptopro.ru/products/csp/downloads Документация для разработчиков и примеры (SDK)+ http://cpdn.cryptopro.ru/ Руководство разработчикаКриптоПро CSP \ Интерфейс криптопровайдера "КриптоПро CSP 3.6" \ Функции хэширования и ЭЦП Отредактировано пользователем 27 сентября 2012 г. 14:24:28(UTC)
| Причина: Не указана |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 27.09.2012(UTC) Сообщений: 8  Откуда: Москва
|
Понятно. Дело в том, что я _не зарегистрирован_. Не уверен, что и заказчик зарегистрирован - им КриптоПро насколько я понял распространяли вышестоящие... По ссылке http://www.cryptopro.ru/...ro/forum/view.asp?q=1672 нашел типы и слова, в реестре у меня также есть провайдер "Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider". Но при вызове Код:CryptAcquireContext(&hProv, NULL, L"Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider", 75, 0)
предлагается вставить рабочий ключевой носитель, коего у меня нет...
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,523   Сказал «Спасибо»: 555 раз Поблагодарили: 2252 раз в 1757 постах
|
Matti написал:Понятно. Дело в том, что я _не зарегистрирован_. Не уверен, что и заказчик зарегистрирован - им КриптоПро насколько я понял распространяли вышестоящие... я _не зарегистрирован_. а в чем сложности пройти регистрацию? Matti написал:По ссылке http://www.cryptopro.ru/...ro/forum/view.asp?q=1672 нашел типы и слова, в реестре у меня также есть провайдер "Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider". Но при вызове Код:CryptAcquireContext(&hProv, NULL, L"Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider", 75, 0)
предлагается вставить рабочий ключевой носитель, коего у меня нет... см. описание функции CryptAcquireContext последний параметр... Отредактировано пользователем 27 сентября 2012 г. 14:43:04(UTC)
| Причина: Не указана |
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close