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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Helloween  
#1 Оставлено : 23 июля 2013 г. 15:20:09(UTC)
Helloween

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

Группы: Участники
Зарегистрирован: 23.07.2013(UTC)
Сообщений: 8
Российская Федерация

Сказал(а) «Спасибо»: 1 раз
Добрый день!

Пытаюсь заставить работать rutoken и crypto pro 3.6. А именно подписание через крипто-про когда сертификаты на токене через Crypto API. Опишу проблему вкратце.
Если сертификат находится в реестре, то все подписывается без проблем, а вот если на токене то нет.

Сертификат с закрытым ключем находится на токене, вставляю токен, через mmc я вижу их в реестре в хранилище "Личное".

Цитата:
_dwProvType = 75
_pszProvider = Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider

CryptAcquireContext(&hProv,(LPCSTR)_pszContainer.c_str(),(LPCSTR)_pszProvider.c_str(),_dwProvType,_dwFlags)

_signAlg = 1.2.643.2.2.3 //в документации описано что этот алгоритм подписания поддерживается токеном


Цитата:
SignParams.cbSize = sizeof(CRYPT_SIGN_MESSAGE_PARA);
SignParams.dwMsgEncodingType = X509_ASN_ENCODING | PKCS_7_ASN_ENCODING;
SignParams.HashAlgorithm.pszObjId=(LPSTR)_signAlg.c_str();
SignParams.HashAlgorithm.Parameters.cbData = 0;
SignParams.HashAlgorithm.Parameters.pbData = NULL;
SignParams.cAuthAttr = 0;
SignParams.dwInnerContentType = 0;
SignParams.cMsgCrl = 0;
SignParams.cUnauthAttr = 0;
SignParams.dwFlags = 0;
SignParams.pvHashAuxInfo = NULL;
SignParams.rgAuthAttr = NULL;

SignParams.pSigningCert = certificate.handle(); //хэндл сертификата с токена


CryptSignMessage(&SignParams, detached, 1, MessageArray, &message_size, NULL, &cbSignedMessageBlob)

Возвращает ошибку, что алгоритм не поддерживается криптопровайдером.

Насколько я понимаю, то крипто-про должен сам вызвать необходимые функции api токена для подписания сообщения (запросив пароль пользователя) или же нужно использовать другой криптопровайдер?

Offline Helloween  
#2 Оставлено : 23 июля 2013 г. 16:46:25(UTC)
Helloween

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

Группы: Участники
Зарегистрирован: 23.07.2013(UTC)
Сообщений: 8
Российская Федерация

Сказал(а) «Спасибо»: 1 раз
Вопрос снят.
Offline Андрей Писарев  
#3 Оставлено : 23 июля 2013 г. 18:01:13(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 12,719
Мужчина
Российская Федерация

Сказал «Спасибо»: 500 раз
Поблагодарили: 2054 раз в 1594 постах
Автор: Helloween Перейти к цитате
Вопрос снят.


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